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