From ce4add331e7044e5d2d39f8a7adac84a0457680e Mon Sep 17 00:00:00 2001
From: Amin Ben Romdhane <amin.benromdhane@iopsys.eu>
Date: Tue, 27 May 2025 15:24:49 +0200
Subject: [PATCH] Align bridge port mapping to WiFi.SSID

---
 src/interfacestack.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/interfacestack.c b/src/interfacestack.c
index 58e5612..082de86 100644
--- a/src/interfacestack.c
+++ b/src/interfacestack.c
@@ -263,11 +263,18 @@ static int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, vo
 
 				dmuci_get_value_by_section_string(port_s, "port", &port);
 				wl_s = get_dup_section_in_config_opt("wireless", "wifi-iface", "ifname", port);
-				wl_s = get_dup_section_in_dmmap_opt("dmmap_wireless", "ssid", "ap_section_name", section_name(wl_s));
+				if (wl_s != NULL) {
+					char *ssid = NULL, *device = NULL;
 
-				if (create_interface_stack_instance(dmctx, parent_node, &curr_interfacestack_data, wl_s,
-						"Device.WiFi.SSID.", "ssid_instance", "ssid_alias", &idx))
-					goto end;
+					dmuci_get_value_by_section_string(wl_s, "device", &device);
+					dmuci_get_value_by_section_string(wl_s, "ssid", &ssid);
+
+					wl_s = get_section_in_dmmap_with_options_eq("dmmap_wireless", "ssid", "device", device, "ssid", ssid);
+
+					if (create_interface_stack_instance(dmctx, parent_node, &curr_interfacestack_data, wl_s,
+							"Device.WiFi.SSID.", "ssid_instance", "ssid_alias", &idx))
+						goto end;
+				}
 			}
 		}
 	}
-- 
GitLab