diff options
| author | Felix Fietkau | 2023-06-23 09:48:20 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2023-06-23 09:48:24 +0000 |
| commit | b719f189f243c00cb2a5f32278b60177c1cefcb2 (patch) | |
| tree | ae929dbbbac13502af3ad43d2eda501f74f57542 | |
| parent | 1571e18e4a69da146652d88dd89d38e3d746abc3 (diff) | |
| download | netifd-b719f189f243c00cb2a5f32278b60177c1cefcb2.tar.gz | |
bridge: make hotplug-added vlans default to tagged
This simplifies adding extra vlans and ranges
Signed-off-by: Felix Fietkau <nbd@nbd.name>
| -rw-r--r-- | bridge.c | 6 | ||||
| -rw-r--r-- | vlan.c | 2 | ||||
| -rw-r--r-- | vlandev.c | 2 |
3 files changed, 5 insertions, 5 deletions
@@ -801,7 +801,7 @@ bridge_hotplug_set_member_vlans(struct bridge_state *bst, struct blob_attr *vlan blobmsg_for_each_attr(cur, vlans, rem) { struct bridge_vlan_hotplug_port *port; - uint16_t flags = BRVLAN_F_UNTAGGED; + uint16_t flags = 0; char *name_buf; unsigned int vid; char *end; @@ -828,8 +828,8 @@ bridge_hotplug_set_member_vlans(struct bridge_state *bst, struct blob_attr *vlan for (end++; *end; end++) { switch (*end) { - case 't': - flags &= ~BRVLAN_F_UNTAGGED; + case 'u': + flags |= BRVLAN_F_UNTAGGED; break; case '*': flags |= BRVLAN_F_PVID; @@ -51,7 +51,7 @@ __vlan_hotplug_op(struct device *dev, struct device *member, struct blob_attr *v blob_buf_init(&b, 0); a = blobmsg_open_array(&b, "vlans"); - blobmsg_printf(&b, NULL, "%d", vldev->id); + blobmsg_printf(&b, NULL, "%d:u", vldev->id); if (vlan && blobmsg_len(vlan)) blob_put_raw(&b, blobmsg_data(vlan), blobmsg_len(vlan)); blobmsg_close_array(&b, a); @@ -72,7 +72,7 @@ __vlandev_hotplug_op(struct device *dev, struct device *member, struct blob_attr blob_buf_init(&b, 0); a = blobmsg_open_array(&b, "vlans"); - blobmsg_printf(&b, NULL, "%d", mvdev->config.vid); + blobmsg_printf(&b, NULL, "%d:u", mvdev->config.vid); if (vlan && blobmsg_len(vlan)) blob_put_raw(&b, blobmsg_data(vlan), blobmsg_len(vlan)); blobmsg_close_array(&b, a); |