J'ai vu une discussion que le kernel settait les deux non ?
https://ocrete.ca/2009/07/24/when-a-man-page-lies/
https://gist.github.com/wenjianhn/5700915c16e3f7d29c1b
Moi aussi je faisais cette confusion. Du coup j'ai vérifié le code source du kernel il y a quelques temps...
Et non, le kernel n'associe pas la socket_priority interne de Linux au champs IP.DSCP. Aussi vérifié par l’expérimentation...
Quand bien même le kernel le ferait pour les socket "normales", ça ne marcherait pas sur les RAW sockets utilisées par les programmes clients DHCPv4.
On peut utiliser netfilter/iptabels/nftables pour la modifier, mais seulement pour les applis qui ne sont pas obligées d'utiliser des socket RAW. Celles-ci bypass complétement netfilter, on ne peut pas agir dessus. Comme pour les client DHCPv4.
Les astuces suivantes vont fonctionner:
- modifier le code source pour positionner la bonne valeur IP.DSCP directement dans las paquets DHCPv4 initiaux sur la RAW socket
- altérer les paquets au niveau L2/L3 par un smart switch en amont du port WAN
Les astuces suivants ne vont pas fonctionner:
- preload une lib .so qui va forcer un appel socket modifié conjoint avec un setsockopt sur la RAW socket: ne modifie pas la IP.DSCP
- utiliser un programme eBPF (kernel assez récent...) qui va altérer la socket priority de la RAW socket: ne modifie pas la IP.DSCP