diff options
| author | Felix Fietkau | 2023-06-27 08:48:26 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2023-06-27 08:48:28 +0000 |
| commit | 03a61994771766a7ae7252531df75893bce210a5 (patch) | |
| tree | 9648134c136b05224c50ce09d0e774ad7278a81f | |
| parent | 493e1589bc8b67a34d2576c5793dfc4ffc9e52ed (diff) | |
| download | netifd-03a61994771766a7ae7252531df75893bce210a5.tar.gz | |
bridge: add support for configuring extra vlans for the bridge itself
Can be configured in the same way as extra bridge member vlans
Signed-off-by: Felix Fietkau <nbd@nbd.name>
| -rw-r--r-- | bridge.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -351,13 +351,14 @@ static void bridge_stp_notify(struct bridge_state *bst) static int bridge_enable_interface(struct bridge_state *bst) { - int ret; + struct device *dev = &bst->dev; + int i, ret; if (bst->active) return 0; bridge_stp_notify(bst); - ret = system_bridge_addbr(&bst->dev, &bst->config); + ret = system_bridge_addbr(dev, &bst->config); if (ret < 0) return ret; @@ -368,6 +369,10 @@ bridge_enable_interface(struct bridge_state *bst) bridge_set_local_vlans(bst, true); } + for (i = 0; i < dev->n_extra_vlan; i++) + system_bridge_vlan(dev->ifname, dev->extra_vlan[i].start, + dev->extra_vlan[i].end, true, BRVLAN_F_SELF); + bst->active = true; return 0; } |