build_patches: Add hack which fixes forwarding on a stacked bridge #211
No reviewers
Labels
No Label
RFC
RFT
WIP
blocked
bsp
bug
build/scripts/tools
duplicate
feature
fixed
layer3
mantis
more details required
needs changes
node
packages/fff
rejected
security
trivial
upstream
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: freifunk-franken/firmware#211
Loading…
Reference in New Issue
No description provided.
Delete Branch "fbl:dsabrfix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Currently we are utilizing stacked bridges to keep configuration of DSA
devices as close as possible to swconfig devices. The lower bridge is
for configuration of the DSA hardware and is vlan-aware, while the upper
bridge is used to connect wireless interfaces to the client interface.
A packet arriving from the switch might have the offload_fwd_mark flag
set in the skb to prevent it from being sent to DSA ports, as this has
already been done in hardware.
However, this flag is not cleared before the skb is processed by the
upper bridge, which prevents it from being sent to any other ports of
that bridge. Therefore, communication is not possible between different
ports of that bridge, while communication with the bridge interface
itself is possible.
This issue affects both the layer3 and node variant, but due to the
layer 2 architecture of the node firmware, it is far more noticeable in
the node firmware, as it prevents ethernet clients from sending packets
to the gateway.
Work around this issue by clearing the offload_fwd_mark flag before
passing the skb up.
Fixes: #205
Wir haben noch einmal zusammen das Problem über eine Stunde lang untersucht. Der Patch ist so erst einmal die richtige Lösung für das Problem. Möglicherweise ist das sogar eine Sache, die Upstream übernommen werden sollte.
Reviewed-by: Johannes Kimmel <fff@bareminimum.eu>
Auf meinen staging tree applied.
Pull request closed