wlan-ap-Telecominfraproject/feeds/wlan-ap/opensync/patches/11-wm2-vif-del.patch
John Crispin 09a67e40f1 opensync: move vif deletion into its own context
Deleteing entries from ucis internal state while looping of it was causing
issues related as the ordering of the list is not deterministic.

Signed-off-by: John Crispin <john@phrozen.org>
2020-07-31 14:12:18 +02:00

33 lines
1.3 KiB
Diff

Index: opensync-2.0.5.0/src/lib/target/inc/target_common.h
===================================================================
--- opensync-2.0.5.0.orig/src/lib/target/inc/target_common.h
+++ opensync-2.0.5.0/src/lib/target/inc/target_common.h
@@ -278,6 +278,8 @@ bool target_vif_config_set2(const struct
const struct schema_Wifi_VIF_Config_flags *changed,
int num_cconfs);
+bool target_vif_config_del(const struct schema_Wifi_VIF_Config *vconf);
+
/**
* @brief Get state of vif interface
*
Index: opensync-2.0.5.0/src/wm2/src/wm2_radio.c
===================================================================
--- opensync-2.0.5.0.orig/src/wm2/src/wm2_radio.c
+++ opensync-2.0.5.0/src/wm2/src/wm2_radio.c
@@ -798,6 +798,14 @@ wm2_vconf_recalc(const char *ifname, boo
&vstate)))
wm2_vstate_init(&vstate, ifname);
+ if (!want) {
+ target_vif_config_del(&vconf);
+ ovsdb_table_delete_simple(&table_Wifi_VIF_State,
+ SCHEMA_COLUMN(Wifi_VIF_State, if_name),
+ vconf.if_name);
+ has = false;
+ }
+
/* This is workaround to deal with unpatched controller.
* Having this on device side prevents it from saner 3rd
* party gw integrations where currently State needs to