OpenWrt/LEDE Project

  • Status Closed
  • Percent Complete
  • Task Type Bug Report
  • Category Kernel
  • Assigned To No-one
  • Operating System All
  • Severity Medium
  • Priority Very Low
  • Reported Version openwrt-21.02
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by Fabian Bläse - 29.08.2021
Last edited by Hauke Mehrtens - 17.09.2021

FS#3996 - edgerouter-x DSA switch does not forward bridge-in-bridge packets correctly

If a vlan-aware bridge is configured for the build-in ethernet ports, and a vlan-interface on that bridge is then put into a different bridge (to include wifi radios for example), then frames between tagged and untagged ethernet ports of the edgerouter x are not forwarded correctly.

Example setup:

 ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐
 │eth0│ │eth1│ │eth2│ │eth3│ │eth4│
 └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘
   2      2      2      2t     2t
  ┌┴──────┴──────┴──────┴──────┴─┐   ┌─────┐   ┌─────┐
  │           bridge1            │   │wlan0│   │wlan1│
  └─────────┬───────────┬────────┘   └─┬───┘   └─┬───┘
            │ bridge1.4 │              │         │
            └────┬──────┘              │         │
                 └─────────────┐   ┌───┘         │
                             ┌─┴───┴─┐           │
config device 'bridge1'
	option name 'bridge1'
	option type 'bridge'

config bridge-vlan 'bridge1_2'
	option device 'bridge1'
	option vlan '2'
	list ports 'eth0:*'
	list ports 'eth1:*'
	list ports 'eth2:*'
	list ports 'eth3:t'
	list ports 'eth4:t'

config device 'bridge2'
	option name 'bridge2'
	option type 'bridge'
	list ports 'bridge1.2'

config interface 'lan'
	option proto 'static'
	option ipaddr ''
	option device 'bridge2'

In the above configuration, frames between Ethernet port eth0 (vlan2 untagged) and port eth4 (vlan2 tagged) are not forwarded. Interestingly, the router itself is able to reach devices connected to eth0 and eth4, when pinging on the ‘bridge2’ interface.

Frames between untagged ports (e.g. eth0 and eth1) are forwarded correctly and frames between tagged ports (eg. eth3 and eth4) are forwarded correctly.

Also, tagged frames are incorrectly forwarded on untagged ports, so it is possible to reach a device connected to eth3 (tagged) on eth2 (tagged).

This issue does not appear, if the ‘bridge1.4’ interface is configured without an additional bridge, so the second bridge seems to be interfering with the hardware offloading.

Closed by  Hauke Mehrtens
17.09.2021 11:05
Reason for closing:  Fixed
Additional comments about closing:  

The patch was applied in commit:
https:/ / 27d98b465cdfbdad8 https:/ / eb7ac435eb966fa76

Fabian Bläse commented on 29.08.2021 20:17

I have tested this patch, and it does fix the issue, as already suspected.
Therefore, I have created a backport for kernel 5.4 and submitted a pull request:


Available keyboard shortcuts


Task Details

Task Editing