svn commit: r304436 - in head: . sys/netinet

Bruce Simpson bms at fastmail.net
Sat Aug 20 16:57:36 UTC 2016


On 20/08/16 17:49, Bruce Simpson wrote:
>> - Providing a mechanism for ip_input() to signal to udp_input() that the
>> packet was addressed to an L3 broadcast address would require
>> rototilling the pr_input interface, and I'd have to carefully ensure
>> that if anything might interpose itself between the two layers (IPSec?)
>> that the flag would have to be passed through correctly.
> (We had to do something similar for ILNPv6, because of how IPv6 input
> works, so it allocates an unused bit from the IPv6 flow label.)

In case anyone's interested, IPSEC is one big reason we had to do this.

Performance was another; without marking ILNPv6 traffic, demultiplexing 
an ILNPv6 packet -- even 'just enough' to forward it -- would have 
required processing all IPv6 extension headers, and additional state 
lookups.

Using a bit from the flow label means ILNPv6 routers don't need to do 
any of that, and it got translated into an M_ILNP mbuf flag internally.

I shudder to think what gymnastics the FreeBSD stack may have to endure 
to accommodate modern Ethernet switching capabilities, though.


More information about the svn-src-head mailing list