mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-19 02:11:28 +00:00
79 lines
2.5 KiB
Diff
79 lines
2.5 KiB
Diff
--- a/interfaces/opensync.ovsschema
|
|
+++ b/interfaces/opensync.ovsschema
|
|
@@ -1424,6 +1424,14 @@
|
|
"min": 0,
|
|
"max": 1
|
|
}
|
|
+ },
|
|
+ "custom_options": {
|
|
+ "type": {
|
|
+ "key": "string",
|
|
+ "value": "string",
|
|
+ "min": 0,
|
|
+ "max": "unlimited"
|
|
+ }
|
|
}
|
|
},
|
|
"isRoot": true,
|
|
@@ -1756,6 +1764,14 @@
|
|
"min": 0,
|
|
"max": 1
|
|
}
|
|
+ },
|
|
+ "custom_options": {
|
|
+ "type": {
|
|
+ "key": "string",
|
|
+ "value": "string",
|
|
+ "min": 0,
|
|
+ "max": "unlimited"
|
|
+ }
|
|
}
|
|
},
|
|
"isRoot": true,
|
|
--- a/src/lib/schema/inc/schema_consts.h
|
|
+++ b/src/lib/schema/inc/schema_consts.h
|
|
@@ -151,6 +151,8 @@ typedef enum {
|
|
#define SCHEMA_CONSTS_RTS_THRESHOLD "rts_threshold"
|
|
#define SCHEMA_CONSTS_FRAG_THRESHOLD "frag_threshold"
|
|
#define SCHEMA_CONSTS_DTIM_PERIOD "dtim_period"
|
|
+#define SCHEMA_CONSTS_DISABLE_B_RATES "disable_b_rates"
|
|
+#define SCHEMA_CONSTS_IEEE80211k "ieee80211k"
|
|
|
|
/* Captive Portal */
|
|
#define SCHEMA_CONSTS_SESSION_TIMEOUT "session_timeout"
|
|
--- a/src/wm2/src/wm2_radio.c
|
|
+++ b/src/wm2/src/wm2_radio.c
|
|
@@ -593,6 +593,7 @@ wm2_rconf_changed(const struct schema_Wi
|
|
CMP(CHANGED_MAP_INTSTR, temperature_control);
|
|
CMP(CHANGED_MAP_STRINT, fallback_parents);
|
|
CMP(CHANGED_STR, zero_wait_dfs);
|
|
+ CMP(CHANGED_MAP_STRSTR, custom_options);
|
|
|
|
if (changed)
|
|
LOGD("%s: changed (forced=%d)", conf->if_name, changedf->_uuid);
|
|
--- a/src/wm2/src/wm2_radio1.c
|
|
+++ b/src/wm2/src/wm2_radio1.c
|
|
@@ -493,6 +493,22 @@ wm2_radio_equal(
|
|
rconf_set->tx_power_exists = true;
|
|
}
|
|
}
|
|
+ if (ovsdb_update_changed(mon, SCHEMA_COLUMN(Wifi_Radio_Config, custom_options))) {
|
|
+ if (rconf->custom_options_len == rstate.custom_options_len) {
|
|
+ for (index = 0; index < rconf->custom_options_len; index++) {
|
|
+ RADIO_EQUAL(SCHEMA_FIELD_CMP_MAP_STR(rconf, &rstate, custom_options, index));
|
|
+ }
|
|
+ } else {
|
|
+ is_equal = false;
|
|
+ }
|
|
+ if (!is_equal) {
|
|
+ for (index = 0; index < rconf->custom_options_len; index++) {
|
|
+ strcpy(rconf_set->custom_options[index], rconf->custom_options[index]);
|
|
+ strcpy(rconf_set->custom_options_keys[index], rconf->custom_options_keys[index]);
|
|
+ }
|
|
+ rconf_set->custom_options_len = rconf->custom_options_len;
|
|
+ }
|
|
+ }
|
|
|
|
#undef RADIO_EQUAL
|
|
|