You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DSCP, the Differentiated Services codepoint, is a field in the IP header packets used for QoS. It replaces the obsolete TOS field in IPv4 and the Traffic Class field in IPv6, per RFC 3260.
Let's add ip-dscp server option to specify an integer value to be passed to setsockopt(…, IP_TOS, …) for every internet-family socket created, effectively enabling the QoS tagging of all outgoing packets.
Testing
Parsing of the new option confirmed with unbound-checkconf on testdata/04-checkconf.tdir/good.all and testdata/04-checkconf.tdir/bad.dscp.
A back-port to 1.9.6 was baked on production systems; the fact the outgoing traffic gets tagged is confirmed with tcpdump and other network monitoring tools:
Did you really mean with the case fallthrought to set both IPv6 and IPv4 TOS on IPv6 sockets? I now fixed it to set IPv6 for IPv6 sockets and IPv4 for IPv4 sockets. But the initial code has a case statement fallthrough which makes IPv4 TOS for IPv6 sockets in addition to the IPv6 socket TCLASS.
Thanks for the contribution! Merged it and some code alterations. Please let me know about the fallthrough so we can be sure to set the right socket options. I am also curious what it is used for.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
DSCP, the Differentiated Services codepoint, is a field in the IP header packets used for QoS. It replaces the obsolete TOS field in IPv4 and the Traffic Class field in IPv6, per RFC 3260.
Let's add ip-dscp server option to specify an integer value to be passed to
setsockopt(…, IP_TOS, …)
for every internet-family socket created, effectively enabling the QoS tagging of all outgoing packets.Testing
Parsing of the new option confirmed with unbound-checkconf on
testdata/04-checkconf.tdir/good.all
andtestdata/04-checkconf.tdir/bad.dscp
.A back-port to 1.9.6 was baked on production systems; the fact the outgoing traffic gets tagged is confirmed with tcpdump and other network monitoring tools:
cc @ralphdolmans @chantra