Bug 216744 - [feature request] set DSCP on neighbor solicitation
Summary: [feature request] set DSCP on neighbor solicitation
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 11.0-RELEASE
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
Depends on:
Reported: 2017-02-03 01:58 UTC by Jason Mader
Modified: 2017-02-06 23:49 UTC (History)
4 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Jason Mader 2017-02-03 01:58:37 UTC
Feature request to have neighbor solicitation set the DSCP to 56 the way a Cisco router does,

01:49:04.603032 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::ca08 > fe80::1: ICMP6, neighbor solicitation, length 32, who has fe80::1
	  source link-address option (1), length 8 (1): 00:00:00:00:ca:08
01:49:04.606351 IP6 (class 0xe0, hlim 255, next-header ICMPv6 (58) payload length: 24) fe80::1 > fe80::ca08: ICMP6, neighbor advertisement, length 24, tgt is fe80::1, Flags [router, solicited]
Comment 1 Hiren Panchasara freebsd_committer 2017-02-03 17:52:55 UTC
Adding bz@ and ae@ too. I am not quite sure if standards are clear on what should be done here so someone with more v6 clue can help.
Comment 2 Andrey V. Elsukov freebsd_committer 2017-02-04 02:43:01 UTC
I didn't seen any information about this in RFC.
You can use "ipfw setdscp" rule to set the DSCP, e.g.

ipfw add setdscp 56 ip6 from me6 to any icmp6types 135
Comment 3 Hiroki Sato freebsd_committer 2017-02-06 21:37:41 UTC
I think it is not a bad idea to implement a configuration knob of DSCP value of ND messages while it is possible to set one via a packet filter as ae@ explains.  RFC 4594 recommends to set CS6 for network control traffic.  I was not aware of Cisco's but it seems it uses CS7 according to the original report.  I do not think this causes an interoperability issue.

One question: does anyone know (or have access to) routers other than Cisco's which set non-zero DSCP value and what value is actually set?  While CS7 is a reasonable option, I want to know how popular such an implementation is before going ahead.
Comment 4 Jason Mader 2017-02-06 23:49:31 UTC
The neighbor discovery uses CS7 (network), and Cisco uses CS6 on Internet routing protocols. Which make sense.

Unfortunately I don't have any other information on how common it is. I have looked and Linux and Arista do not set a DSCP on NDP.