summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2023-06-21 18:46:24 +0000
committerFelix Fietkau2023-06-21 18:46:25 +0000
commit077e05f2b129ce59aecef5f8f6b2afe4f01ca1c8 (patch)
treef30f69ed3515082bed711b88d20919d32df935b5
parentec9dba72124597b7224bbfe75960386dc320f4bd (diff)
downloadnetifd-077e05f2b129ce59aecef5f8f6b2afe4f01ca1c8.tar.gz
vlan/vlandev: pass through extra vlan information passed via hotplug
This adds support for adding extra tagged VLANs in addition to the primary one Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--vlan.c2
-rw-r--r--vlandev.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/vlan.c b/vlan.c
index 4d32b60..0d53c31 100644
--- a/vlan.c
+++ b/vlan.c
@@ -52,6 +52,8 @@ __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);
+ if (vlan && blobmsg_len(vlan))
+ blob_put_raw(&b, blobmsg_data(vlan), blobmsg_len(vlan));
blobmsg_close_array(&b, a);
if (add)
diff --git a/vlandev.c b/vlandev.c
index ad4c526..bf527bb 100644
--- a/vlandev.c
+++ b/vlandev.c
@@ -73,6 +73,8 @@ __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);
+ if (vlan && blobmsg_len(vlan))
+ blob_put_raw(&b, blobmsg_data(vlan), blobmsg_len(vlan));
blobmsg_close_array(&b, a);
if (add)