[v3,0/3] add dynamic, bridged-in TT VID detection support

Message ID 20241202053511.326-1-linus.luessing@c0d3.blue (mailing list archive)
Headers
Series add dynamic, bridged-in TT VID detection support |

Message

Linus Lüssing Dec. 2, 2024, 5:05 a.m. UTC
  For one thing the following patchest is supposed to mitigate the
regression of extra OGM overhead that we accidentally introduced with
the introduction of the compatibility version 15, the TVLV support it
provided, together with TT VLAN support. The addition of these TVLVs
roughly doubled the OGM overhead back then, also/mainly because the 8021q
and Linux bridge modules would add TT VLAN IDs 0 and 1, even if no one is
actually using them. PATCH 3/3 tries to avoid this and will only add
these two VLAN IDs if they were detected on actual traffic.

In preparation of this the internal VLAN creation was overhauled in
PATCH 1/3. This also in theory allows detecting new VLAN IDs dynamically
from traffic from bridged-in traffic. So far, VLAN IDs could only be
used which were anticipated and configured on top of bat0 by the
administrator.

However the detection of VLANs from bridged-in clients is by default
disabled for now through PATCH 2/3. This patch adds a configurable limit
for such snooped VLAN IDs, defaulting to zero for now. The issue is that
each added VLAN still increases the OGM size considerably in the current
protocol, so it is not advised to add many VLANs at the moment, without a
bigger upgrade of the protocol. Also there is still an outstanding issue
with temporarily broken broadcast traffic upon adding a new VLAN if BLA
is enabled at the same time. Therefore defaulting to zero snooped VLANs
from bridged-in clients for now.

Regards, Linus

---

v3:
* fixing refcounting, removing an unnecessary kref_get() in PATCH 1/3
* adding PATCH 2/3 + PATCH 3/3
* resubmitting without the RFC tag

v2: fix a typo, a missing "to" in the commit message