HomeFreeBSD

net: Check per-flow priority code point for untagged traffic

Description

net: Check per-flow priority code point for untagged traffic

Commit 868aabb4708d introduced per-flow priority. There's a defect in the
logic for untagged traffic, it does not check M_VLANTAG set in the mbuf
packet header or MTAG_8021Q/MTAG_8021Q_PCP_OUT tag set by firewall, then
can result missing desired priority in the outbound packets.

For mbuf packet with M_VLANTAG in header, some interfaces happen to work
due to bug in the drivers mentioned in D39499. As modern interfaces have
VLAN hardware offloading, the defect is barely noticeable unless the
feature per-flow priority is widely tested.

As a side effect of this defect, the soft padding to work around buggy
bridges is bypassed. That may result in regression if soft padding is
requested.

PR: 273431
Discussed with: kib
Fixes: 868aabb4708d Add IP(V6)_VLAN_PCP to set 802.1 priority per-flow
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D39536

(cherry picked from commit 49d6743da15fe378782e43776df8b4fd4f84c8d0)
(cherry picked from commit c750055382f73db964c20f8eba855a9ac9e19591)
(cherry picked from commit 8303afca1765148d0069ce5144072b3ae9cab61e)

Details

Provenance
zleiAuthored on Sep 6 2023, 10:15 AM
Differential Revision
D39536: net: Check per-flow priority code point for untagged traffic
Parents
rG08862a1a5e14: Fix geom build with clang 17 and KTR enabled
Branches
Unknown
Tags
Unknown