Page MenuHomeFreeBSD

netinet6: In tcp_lro_rx_ipv6(), check for IPv6 flow ID.
Needs ReviewPublic

Authored by neel_neelc.org on May 31 2020, 7:58 PM.

Details

Reviewers
bz
Group Reviewers
transport
Summary

netinet6: In tcp_lro_rx_ipv6(), check for IPv6 flow ID.

Submitted by: Neel Chauhan <neel AT neelc DOT org>

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

neel_neelc.org created this revision.May 31 2020, 7:58 PM
neel_neelc.org requested review of this revision.May 31 2020, 7:58 PM

In RFC 6437 there is no rule, that flow labels are immutable for a given TCP session. It only notes in section 6.1, that changing the flow label within a TCP stream might be suspicious.
IPv6 flow labels are designed as QoS/routing indicators (like the DCSP field), which (in theory) might vary during the life time of the TCP session.

Given, that LRO handling is on the recipient end of the session -- there are no routing, forwarding or QoS behind this point -- the flow label is irrelevant by definition.
In my eyes, throwing away packets which successfully reached the destination for potential QoS/routing issues, is unexpected.

If I'm wrong, the change can be passed.
If I'm right, please change the comment itself to reflect the reasoning.