Skip to content

Commit ba7936f

Browse files
committed
net: net_mgmt events a unique bit
Transition net_mgmt event codes to be bit enumerations instead of integer enumerations. This is required in order for the standard usage (and documented behaviour) of ORing together events for `net_mgmt_init_event_callback` to work properly. Since `mgmt_run_slist_callbacks` runs the event handler if *ANY* bits between the occuring command code and the registered event command bits match, ORing together integers results in event being delivered to handlers that never asked for them. Signed-off-by: Jordan Yates <jordan@embeint.com>
1 parent bc6bf4e commit ba7936f

File tree

7 files changed

+69
-69
lines changed

7 files changed

+69
-69
lines changed

include/zephyr/net/coap_mgmt.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ struct coap_observer;
4242

4343
enum net_event_coap_cmd {
4444
/* Service events */
45-
NET_EVENT_COAP_CMD_SERVICE_STARTED = 1,
46-
NET_EVENT_COAP_CMD_SERVICE_STOPPED,
45+
NET_EVENT_COAP_CMD_SERVICE_STARTED = BIT(0),
46+
NET_EVENT_COAP_CMD_SERVICE_STOPPED = BIT(1),
4747
/* Observer events */
48-
NET_EVENT_COAP_CMD_OBSERVER_ADDED,
49-
NET_EVENT_COAP_CMD_OBSERVER_REMOVED,
48+
NET_EVENT_COAP_CMD_OBSERVER_ADDED = BIT(2),
49+
NET_EVENT_COAP_CMD_OBSERVER_REMOVED = BIT(3),
5050
};
5151

5252
/** @endcond */

include/zephyr/net/conn_mgr_connectivity.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ extern "C" {
4242
#define _NET_MGMT_CONN_IF_EVENT (NET_MGMT_IFACE_BIT | _NET_MGMT_CONN_BASE)
4343

4444
enum net_event_conn_cmd {
45-
NET_EVENT_CONN_CMD_IF_TIMEOUT = 1,
46-
NET_EVENT_CONN_CMD_IF_FATAL_ERROR,
45+
NET_EVENT_CONN_CMD_IF_TIMEOUT = BIT(0),
46+
NET_EVENT_CONN_CMD_IF_FATAL_ERROR = BIT(1),
4747
};
4848

4949
/** @endcond */

include/zephyr/net/ethernet_mgmt.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,10 +189,10 @@ struct ethernet_req_params {
189189
};
190190

191191
enum net_event_ethernet_cmd {
192-
NET_EVENT_ETHERNET_CMD_CARRIER_ON = 1,
193-
NET_EVENT_ETHERNET_CMD_CARRIER_OFF,
194-
NET_EVENT_ETHERNET_CMD_VLAN_TAG_ENABLED,
195-
NET_EVENT_ETHERNET_CMD_VLAN_TAG_DISABLED,
192+
NET_EVENT_ETHERNET_CMD_CARRIER_ON = BIT(0),
193+
NET_EVENT_ETHERNET_CMD_CARRIER_OFF = BIT(1),
194+
NET_EVENT_ETHERNET_CMD_VLAN_TAG_ENABLED = BIT(2),
195+
NET_EVENT_ETHERNET_CMD_VLAN_TAG_DISABLED = BIT(3),
196196
};
197197

198198
#define NET_EVENT_ETHERNET_CARRIER_ON \

include/zephyr/net/ieee802154_mgmt.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ NET_MGMT_DEFINE_REQUEST_HANDLER(NET_REQUEST_IEEE802154_GET_SECURITY_SETTINGS);
256256
*/
257257

258258
enum net_event_ieee802154_cmd {
259-
NET_EVENT_IEEE802154_CMD_SCAN_RESULT = 1,
259+
NET_EVENT_IEEE802154_CMD_SCAN_RESULT = BIT(0),
260260
};
261261

262262
/**

include/zephyr/net/net_event.h

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ extern "C" {
3535
NET_MGMT_LAYER_CODE(_NET_IF_CORE_CODE))
3636

3737
enum net_event_if_cmd {
38-
NET_EVENT_IF_CMD_DOWN = 1,
39-
NET_EVENT_IF_CMD_UP,
40-
NET_EVENT_IF_CMD_ADMIN_DOWN,
41-
NET_EVENT_IF_CMD_ADMIN_UP,
38+
NET_EVENT_IF_CMD_DOWN = BIT(0),
39+
NET_EVENT_IF_CMD_UP = BIT(1),
40+
NET_EVENT_IF_CMD_ADMIN_DOWN = BIT(2),
41+
NET_EVENT_IF_CMD_ADMIN_UP = BIT(3),
4242
};
4343

4444
/* IPv6 Events */
@@ -86,21 +86,21 @@ enum net_event_ipv6_cmd {
8686
NET_MGMT_LAYER_CODE(_NET_IPV4_CORE_CODE))
8787

8888
enum net_event_ipv4_cmd {
89-
NET_EVENT_IPV4_CMD_ADDR_ADD = 1,
90-
NET_EVENT_IPV4_CMD_ADDR_DEL,
91-
NET_EVENT_IPV4_CMD_MADDR_ADD,
92-
NET_EVENT_IPV4_CMD_MADDR_DEL,
93-
NET_EVENT_IPV4_CMD_ROUTER_ADD,
94-
NET_EVENT_IPV4_CMD_ROUTER_DEL,
95-
NET_EVENT_IPV4_CMD_DHCP_START,
96-
NET_EVENT_IPV4_CMD_DHCP_BOUND,
97-
NET_EVENT_IPV4_CMD_DHCP_STOP,
98-
NET_EVENT_IPV4_CMD_MCAST_JOIN,
99-
NET_EVENT_IPV4_CMD_MCAST_LEAVE,
100-
NET_EVENT_IPV4_CMD_ACD_SUCCEED,
101-
NET_EVENT_IPV4_CMD_ACD_FAILED,
102-
NET_EVENT_IPV4_CMD_ACD_CONFLICT,
103-
NET_EVENT_IPV4_CMD_PMTU_CHANGED,
89+
NET_EVENT_IPV4_CMD_ADDR_ADD = BIT(0),
90+
NET_EVENT_IPV4_CMD_ADDR_DEL = BIT(1),
91+
NET_EVENT_IPV4_CMD_MADDR_ADD = BIT(2),
92+
NET_EVENT_IPV4_CMD_MADDR_DEL = BIT(3),
93+
NET_EVENT_IPV4_CMD_ROUTER_ADD = BIT(4),
94+
NET_EVENT_IPV4_CMD_ROUTER_DEL = BIT(5),
95+
NET_EVENT_IPV4_CMD_DHCP_START = BIT(6),
96+
NET_EVENT_IPV4_CMD_DHCP_BOUND = BIT(7),
97+
NET_EVENT_IPV4_CMD_DHCP_STOP = BIT(8),
98+
NET_EVENT_IPV4_CMD_MCAST_JOIN = BIT(9),
99+
NET_EVENT_IPV4_CMD_MCAST_LEAVE = BIT(10),
100+
NET_EVENT_IPV4_CMD_ACD_SUCCEED = BIT(11),
101+
NET_EVENT_IPV4_CMD_ACD_FAILED = BIT(12),
102+
NET_EVENT_IPV4_CMD_ACD_CONFLICT = BIT(13),
103+
NET_EVENT_IPV4_CMD_PMTU_CHANGED = BIT(14),
104104
};
105105

106106
/* L4 network events */
@@ -112,21 +112,21 @@ enum net_event_ipv4_cmd {
112112
NET_MGMT_LAYER_CODE(_NET_L4_CORE_CODE))
113113

114114
enum net_event_l4_cmd {
115-
NET_EVENT_L4_CMD_CONNECTED = 1,
116-
NET_EVENT_L4_CMD_DISCONNECTED,
117-
NET_EVENT_L4_CMD_IPV4_CONNECTED,
118-
NET_EVENT_L4_CMD_IPV4_DISCONNECTED,
119-
NET_EVENT_L4_CMD_IPV6_CONNECTED,
120-
NET_EVENT_L4_CMD_IPV6_DISCONNECTED,
121-
NET_EVENT_L4_CMD_DNS_SERVER_ADD,
122-
NET_EVENT_L4_CMD_DNS_SERVER_DEL,
123-
NET_EVENT_L4_CMD_HOSTNAME_CHANGED,
124-
NET_EVENT_L4_CMD_CAPTURE_STARTED,
125-
NET_EVENT_L4_CMD_CAPTURE_STOPPED,
126-
NET_EVENT_L4_CMD_VPN_CONNECTED,
127-
NET_EVENT_L4_CMD_VPN_DISCONNECTED,
128-
NET_EVENT_L4_CMD_VPN_PEER_ADD,
129-
NET_EVENT_L4_CMD_VPN_PEER_DEL,
115+
NET_EVENT_L4_CMD_CONNECTED = BIT(0),
116+
NET_EVENT_L4_CMD_DISCONNECTED = BIT(1),
117+
NET_EVENT_L4_CMD_IPV4_CONNECTED = BIT(2),
118+
NET_EVENT_L4_CMD_IPV4_DISCONNECTED = BIT(3),
119+
NET_EVENT_L4_CMD_IPV6_CONNECTED = BIT(4),
120+
NET_EVENT_L4_CMD_IPV6_DISCONNECTED = BIT(5),
121+
NET_EVENT_L4_CMD_DNS_SERVER_ADD = BIT(6),
122+
NET_EVENT_L4_CMD_DNS_SERVER_DEL = BIT(7),
123+
NET_EVENT_L4_CMD_HOSTNAME_CHANGED = BIT(8),
124+
NET_EVENT_L4_CMD_CAPTURE_STARTED = BIT(9),
125+
NET_EVENT_L4_CMD_CAPTURE_STOPPED = BIT(10),
126+
NET_EVENT_L4_CMD_VPN_CONNECTED = BIT(11),
127+
NET_EVENT_L4_CMD_VPN_DISCONNECTED = BIT(12),
128+
NET_EVENT_L4_CMD_VPN_PEER_ADD = BIT(13),
129+
NET_EVENT_L4_CMD_VPN_PEER_DEL = BIT(14),
130130
};
131131

132132
/** @endcond */

include/zephyr/net/wifi_mgmt.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -320,41 +320,41 @@ NET_MGMT_DEFINE_REQUEST_HANDLER(NET_REQUEST_WIFI_NEIGHBOR_REP_COMPLETE);
320320
/** @brief Wi-Fi management events */
321321
enum net_event_wifi_cmd {
322322
/** Scan results available */
323-
NET_EVENT_WIFI_CMD_SCAN_RESULT = 1,
323+
NET_EVENT_WIFI_CMD_SCAN_RESULT = BIT(0),
324324
/** Scan done */
325-
NET_EVENT_WIFI_CMD_SCAN_DONE,
325+
NET_EVENT_WIFI_CMD_SCAN_DONE = BIT(1),
326326
/** Connect result */
327-
NET_EVENT_WIFI_CMD_CONNECT_RESULT,
327+
NET_EVENT_WIFI_CMD_CONNECT_RESULT = BIT(2),
328328
/** Disconnect result */
329-
NET_EVENT_WIFI_CMD_DISCONNECT_RESULT,
329+
NET_EVENT_WIFI_CMD_DISCONNECT_RESULT = BIT(3),
330330
/** Interface status */
331-
NET_EVENT_WIFI_CMD_IFACE_STATUS,
331+
NET_EVENT_WIFI_CMD_IFACE_STATUS = BIT(4),
332332
/** TWT events */
333-
NET_EVENT_WIFI_CMD_TWT,
333+
NET_EVENT_WIFI_CMD_TWT = BIT(5),
334334
/** TWT sleep status: awake or sleeping, can be used by application
335335
* to determine if it can send data or not.
336336
*/
337-
NET_EVENT_WIFI_CMD_TWT_SLEEP_STATE,
337+
NET_EVENT_WIFI_CMD_TWT_SLEEP_STATE = BIT(6),
338338
/** Raw scan results available */
339-
NET_EVENT_WIFI_CMD_RAW_SCAN_RESULT,
339+
NET_EVENT_WIFI_CMD_RAW_SCAN_RESULT = BIT(7),
340340
/** Disconnect complete */
341-
NET_EVENT_WIFI_CMD_DISCONNECT_COMPLETE,
341+
NET_EVENT_WIFI_CMD_DISCONNECT_COMPLETE = BIT(8),
342342
/** Signal change event */
343-
NET_EVENT_WIFI_CMD_SIGNAL_CHANGE,
343+
NET_EVENT_WIFI_CMD_SIGNAL_CHANGE = BIT(9),
344344
/** Neighbor Report */
345-
NET_EVENT_WIFI_CMD_NEIGHBOR_REP_RECEIVED,
345+
NET_EVENT_WIFI_CMD_NEIGHBOR_REP_RECEIVED = BIT(10),
346346
/** Neighbor Report complete */
347-
NET_EVENT_WIFI_CMD_NEIGHBOR_REP_COMPLETE,
347+
NET_EVENT_WIFI_CMD_NEIGHBOR_REP_COMPLETE = BIT(11),
348348
/** AP mode enable result */
349-
NET_EVENT_WIFI_CMD_AP_ENABLE_RESULT,
349+
NET_EVENT_WIFI_CMD_AP_ENABLE_RESULT = BIT(12),
350350
/** AP mode disable result */
351-
NET_EVENT_WIFI_CMD_AP_DISABLE_RESULT,
351+
NET_EVENT_WIFI_CMD_AP_DISABLE_RESULT = BIT(13),
352352
/** STA connected to AP */
353-
NET_EVENT_WIFI_CMD_AP_STA_CONNECTED,
353+
NET_EVENT_WIFI_CMD_AP_STA_CONNECTED = BIT(14),
354354
/** STA disconnected from AP */
355-
NET_EVENT_WIFI_CMD_AP_STA_DISCONNECTED,
355+
NET_EVENT_WIFI_CMD_AP_STA_DISCONNECTED = BIT(15),
356356
/** Supplicant specific event */
357-
NET_EVENT_WIFI_CMD_SUPPLICANT,
357+
NET_EVENT_WIFI_CMD_SUPPLICANT = BIT(16),
358358
};
359359

360360
/** Event emitted for Wi-Fi scan result */

modules/hostap/src/supp_events.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
#define _NET_MGMT_SUPPLICANT_EVENT (NET_MGMT_EVENT_BIT | _NET_MGMT_SUPPLICANT_BASE)
1919

2020
enum net_event_supplicant_cmd {
21-
NET_EVENT_SUPPLICANT_CMD_READY = 1,
22-
NET_EVENT_SUPPLICANT_CMD_NOT_READY,
23-
NET_EVENT_SUPPLICANT_CMD_IFACE_ADDED,
24-
NET_EVENT_SUPPLICANT_CMD_IFACE_REMOVING,
25-
NET_EVENT_SUPPLICANT_CMD_IFACE_REMOVED,
26-
NET_EVENT_SUPPLICANT_CMD_INT_EVENT,
27-
NET_EVENT_WIFI_CMD_MAX
21+
NET_EVENT_SUPPLICANT_CMD_READY = BIT(0),
22+
NET_EVENT_SUPPLICANT_CMD_NOT_READY = BIT(1),
23+
NET_EVENT_SUPPLICANT_CMD_IFACE_ADDED = BIT(2),
24+
NET_EVENT_SUPPLICANT_CMD_IFACE_REMOVING = BIT(3),
25+
NET_EVENT_SUPPLICANT_CMD_IFACE_REMOVED = BIT(4),
26+
NET_EVENT_SUPPLICANT_CMD_INT_EVENT = BIT(5),
27+
NET_EVENT_WIFI_CMD_MAX = BIT(6),
2828
};
2929

3030
#define NET_EVENT_SUPPLICANT_READY \

0 commit comments

Comments
 (0)