12#ifndef ZEPHYR_INCLUDE_NET_NET_EVENT_H_
13#define ZEPHYR_INCLUDE_NET_NET_EVENT_H_
31#define NET_IF_LAYER NET_MGMT_LAYER_L2
32#define NET_IF_CORE_CODE NET_MGMT_LAYER_CODE_IFACE
33#define NET_EVENT_IF_BASE (NET_MGMT_EVENT_BIT | \
34 NET_MGMT_IFACE_BIT | \
35 NET_MGMT_LAYER(NET_IF_LAYER) | \
36 NET_MGMT_LAYER_CODE(NET_IF_CORE_CODE))
39 NET_EVENT_IF_CMD_DOWN_VAL,
40 NET_EVENT_IF_CMD_UP_VAL,
41 NET_EVENT_IF_CMD_ADMIN_DOWN_VAL,
42 NET_EVENT_IF_CMD_ADMIN_UP_VAL,
47BUILD_ASSERT(NET_EVENT_IF_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
48 "Number of events in net_event_if_cmd exceeds the limit");
50enum net_event_if_cmd {
58#define NET_IPV6_LAYER NET_MGMT_LAYER_L3
59#define NET_IPV6_CORE_CODE NET_MGMT_LAYER_CODE_IPV6
60#define NET_EVENT_IPV6_BASE (NET_MGMT_EVENT_BIT | \
61 NET_MGMT_IFACE_BIT | \
62 NET_MGMT_LAYER(NET_IPV6_LAYER) | \
63 NET_MGMT_LAYER_CODE(NET_IPV6_CORE_CODE))
66 NET_EVENT_IPV6_CMD_ADDR_ADD_VAL,
67 NET_EVENT_IPV6_CMD_ADDR_DEL_VAL,
68 NET_EVENT_IPV6_CMD_MADDR_ADD_VAL,
69 NET_EVENT_IPV6_CMD_MADDR_DEL_VAL,
70 NET_EVENT_IPV6_CMD_PREFIX_ADD_VAL,
71 NET_EVENT_IPV6_CMD_PREFIX_DEL_VAL,
72 NET_EVENT_IPV6_CMD_MCAST_JOIN_VAL,
73 NET_EVENT_IPV6_CMD_MCAST_LEAVE_VAL,
74 NET_EVENT_IPV6_CMD_ROUTER_ADD_VAL,
75 NET_EVENT_IPV6_CMD_ROUTER_DEL_VAL,
76 NET_EVENT_IPV6_CMD_ROUTE_ADD_VAL,
77 NET_EVENT_IPV6_CMD_ROUTE_DEL_VAL,
78 NET_EVENT_IPV6_CMD_DAD_SUCCEED_VAL,
79 NET_EVENT_IPV6_CMD_DAD_FAILED_VAL,
80 NET_EVENT_IPV6_CMD_NBR_ADD_VAL,
81 NET_EVENT_IPV6_CMD_NBR_DEL_VAL,
82 NET_EVENT_IPV6_CMD_DHCP_START_VAL,
83 NET_EVENT_IPV6_CMD_DHCP_BOUND_VAL,
84 NET_EVENT_IPV6_CMD_DHCP_STOP_VAL,
85 NET_EVENT_IPV6_CMD_ADDR_DEPRECATED_VAL,
86 NET_EVENT_IPV6_CMD_PE_ENABLED_VAL,
87 NET_EVENT_IPV6_CMD_PE_DISABLED_VAL,
88 NET_EVENT_IPV6_CMD_PE_FILTER_ADD_VAL,
89 NET_EVENT_IPV6_CMD_PE_FILTER_DEL_VAL,
90 NET_EVENT_IPV6_CMD_PMTU_CHANGED_VAL,
92 NET_EVENT_IPV6_CMD_MAX
95BUILD_ASSERT(NET_EVENT_IPV6_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
96 "Number of events in net_event_ipv6_cmd exceeds the limit");
98enum net_event_ipv6_cmd {
127#define NET_IPV4_LAYER NET_MGMT_LAYER_L3
128#define NET_IPV4_CORE_CODE NET_MGMT_LAYER_CODE_IPV4
129#define NET_EVENT_IPV4_BASE (NET_MGMT_EVENT_BIT | \
130 NET_MGMT_IFACE_BIT | \
131 NET_MGMT_LAYER(NET_IPV4_LAYER) | \
132 NET_MGMT_LAYER_CODE(NET_IPV4_CORE_CODE))
135 NET_EVENT_IPV4_CMD_ADDR_ADD_VAL,
136 NET_EVENT_IPV4_CMD_ADDR_DEL_VAL,
137 NET_EVENT_IPV4_CMD_MADDR_ADD_VAL,
138 NET_EVENT_IPV4_CMD_MADDR_DEL_VAL,
139 NET_EVENT_IPV4_CMD_ROUTER_ADD_VAL,
140 NET_EVENT_IPV4_CMD_ROUTER_DEL_VAL,
141 NET_EVENT_IPV4_CMD_DHCP_START_VAL,
142 NET_EVENT_IPV4_CMD_DHCP_BOUND_VAL,
143 NET_EVENT_IPV4_CMD_DHCP_STOP_VAL,
144 NET_EVENT_IPV4_CMD_MCAST_JOIN_VAL,
145 NET_EVENT_IPV4_CMD_MCAST_LEAVE_VAL,
146 NET_EVENT_IPV4_CMD_ACD_SUCCEED_VAL,
147 NET_EVENT_IPV4_CMD_ACD_FAILED_VAL,
148 NET_EVENT_IPV4_CMD_ACD_CONFLICT_VAL,
149 NET_EVENT_IPV4_CMD_PMTU_CHANGED_VAL,
151 NET_EVENT_IPV4_CMD_MAX
154BUILD_ASSERT(NET_EVENT_IPV4_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
155 "Number of events in net_event_ipv4_cmd exceeds the limit");
157enum net_event_ipv4_cmd {
176#define NET_L4_LAYER NET_MGMT_LAYER_L4
177#define NET_L4_CORE_CODE NET_MGMT_LAYER_CODE_L4
178#define NET_EVENT_L4_BASE (NET_MGMT_EVENT_BIT | \
179 NET_MGMT_IFACE_BIT | \
180 NET_MGMT_LAYER(NET_L4_LAYER) | \
181 NET_MGMT_LAYER_CODE(NET_L4_CORE_CODE))
184 NET_EVENT_L4_CMD_CONNECTED_VAL,
185 NET_EVENT_L4_CMD_DISCONNECTED_VAL,
186 NET_EVENT_L4_CMD_IPV4_CONNECTED_VAL,
187 NET_EVENT_L4_CMD_IPV4_DISCONNECTED_VAL,
188 NET_EVENT_L4_CMD_IPV6_CONNECTED_VAL,
189 NET_EVENT_L4_CMD_IPV6_DISCONNECTED_VAL,
190 NET_EVENT_L4_CMD_DNS_SERVER_ADD_VAL,
191 NET_EVENT_L4_CMD_DNS_SERVER_DEL_VAL,
192 NET_EVENT_L4_CMD_HOSTNAME_CHANGED_VAL,
193 NET_EVENT_L4_CMD_CAPTURE_STARTED_VAL,
194 NET_EVENT_L4_CMD_CAPTURE_STOPPED_VAL,
195 NET_EVENT_L4_CMD_VPN_CONNECTED_VAL,
196 NET_EVENT_L4_CMD_VPN_DISCONNECTED_VAL,
197 NET_EVENT_L4_CMD_VPN_PEER_ADD_VAL,
198 NET_EVENT_L4_CMD_VPN_PEER_DEL_VAL,
203BUILD_ASSERT(NET_EVENT_L4_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
204 "Number of events in net_event_l4_cmd exceeds the limit");
206enum net_event_l4_cmd {
227#define NET_EVENT_IF_DOWN \
228 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_DOWN)
227#define NET_EVENT_IF_DOWN \ …
231#define NET_EVENT_IF_UP \
232 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_UP)
231#define NET_EVENT_IF_UP \ …
235#define NET_EVENT_IF_ADMIN_DOWN \
236 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_ADMIN_DOWN)
235#define NET_EVENT_IF_ADMIN_DOWN \ …
239#define NET_EVENT_IF_ADMIN_UP \
240 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_ADMIN_UP)
239#define NET_EVENT_IF_ADMIN_UP \ …
243#define NET_EVENT_IPV6_ADDR_ADD \
244 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_ADD)
243#define NET_EVENT_IPV6_ADDR_ADD \ …
247#define NET_EVENT_IPV6_ADDR_DEL \
248 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_DEL)
247#define NET_EVENT_IPV6_ADDR_DEL \ …
251#define NET_EVENT_IPV6_MADDR_ADD \
252 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MADDR_ADD)
251#define NET_EVENT_IPV6_MADDR_ADD \ …
255#define NET_EVENT_IPV6_MADDR_DEL \
256 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MADDR_DEL)
255#define NET_EVENT_IPV6_MADDR_DEL \ …
259#define NET_EVENT_IPV6_PREFIX_ADD \
260 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PREFIX_ADD)
259#define NET_EVENT_IPV6_PREFIX_ADD \ …
263#define NET_EVENT_IPV6_PREFIX_DEL \
264 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PREFIX_DEL)
263#define NET_EVENT_IPV6_PREFIX_DEL \ …
267#define NET_EVENT_IPV6_MCAST_JOIN \
268 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MCAST_JOIN)
267#define NET_EVENT_IPV6_MCAST_JOIN \ …
271#define NET_EVENT_IPV6_MCAST_LEAVE \
272 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MCAST_LEAVE)
271#define NET_EVENT_IPV6_MCAST_LEAVE \ …
275#define NET_EVENT_IPV6_ROUTER_ADD \
276 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_ADD)
275#define NET_EVENT_IPV6_ROUTER_ADD \ …
279#define NET_EVENT_IPV6_ROUTER_DEL \
280 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_DEL)
279#define NET_EVENT_IPV6_ROUTER_DEL \ …
283#define NET_EVENT_IPV6_ROUTE_ADD \
284 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTE_ADD)
283#define NET_EVENT_IPV6_ROUTE_ADD \ …
287#define NET_EVENT_IPV6_ROUTE_DEL \
288 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTE_DEL)
287#define NET_EVENT_IPV6_ROUTE_DEL \ …
291#define NET_EVENT_IPV6_DAD_SUCCEED \
292 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DAD_SUCCEED)
291#define NET_EVENT_IPV6_DAD_SUCCEED \ …
295#define NET_EVENT_IPV6_DAD_FAILED \
296 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DAD_FAILED)
295#define NET_EVENT_IPV6_DAD_FAILED \ …
299#define NET_EVENT_IPV6_NBR_ADD \
300 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_NBR_ADD)
299#define NET_EVENT_IPV6_NBR_ADD \ …
303#define NET_EVENT_IPV6_NBR_DEL \
304 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_NBR_DEL)
303#define NET_EVENT_IPV6_NBR_DEL \ …
307#define NET_EVENT_IPV6_DHCP_START \
308 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_START)
307#define NET_EVENT_IPV6_DHCP_START \ …
311#define NET_EVENT_IPV6_DHCP_BOUND \
312 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_BOUND)
311#define NET_EVENT_IPV6_DHCP_BOUND \ …
315#define NET_EVENT_IPV6_DHCP_STOP \
316 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_STOP)
315#define NET_EVENT_IPV6_DHCP_STOP \ …
319#define NET_EVENT_IPV6_ADDR_DEPRECATED \
320 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_DEPRECATED)
319#define NET_EVENT_IPV6_ADDR_DEPRECATED \ …
323#define NET_EVENT_IPV6_PE_ENABLED \
324 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_ENABLED)
323#define NET_EVENT_IPV6_PE_ENABLED \ …
327#define NET_EVENT_IPV6_PE_DISABLED \
328 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_DISABLED)
327#define NET_EVENT_IPV6_PE_DISABLED \ …
331#define NET_EVENT_IPV6_PE_FILTER_ADD \
332 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_FILTER_ADD)
331#define NET_EVENT_IPV6_PE_FILTER_ADD \ …
335#define NET_EVENT_IPV6_PE_FILTER_DEL \
336 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_FILTER_DEL)
335#define NET_EVENT_IPV6_PE_FILTER_DEL \ …
339#define NET_EVENT_IPV6_PMTU_CHANGED \
340 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PMTU_CHANGED)
339#define NET_EVENT_IPV6_PMTU_CHANGED \ …
343#define NET_EVENT_IPV4_ADDR_ADD \
344 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ADDR_ADD)
343#define NET_EVENT_IPV4_ADDR_ADD \ …
347#define NET_EVENT_IPV4_ADDR_DEL \
348 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ADDR_DEL)
347#define NET_EVENT_IPV4_ADDR_DEL \ …
351#define NET_EVENT_IPV4_MADDR_ADD \
352 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MADDR_ADD)
351#define NET_EVENT_IPV4_MADDR_ADD \ …
355#define NET_EVENT_IPV4_MADDR_DEL \
356 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MADDR_DEL)
355#define NET_EVENT_IPV4_MADDR_DEL \ …
359#define NET_EVENT_IPV4_ROUTER_ADD \
360 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTER_ADD)
359#define NET_EVENT_IPV4_ROUTER_ADD \ …
363#define NET_EVENT_IPV4_ROUTER_DEL \
364 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTER_DEL)
363#define NET_EVENT_IPV4_ROUTER_DEL \ …
367#define NET_EVENT_IPV4_DHCP_START \
368 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_START)
367#define NET_EVENT_IPV4_DHCP_START \ …
371#define NET_EVENT_IPV4_DHCP_BOUND \
372 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_BOUND)
371#define NET_EVENT_IPV4_DHCP_BOUND \ …
375#define NET_EVENT_IPV4_DHCP_STOP \
376 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_STOP)
375#define NET_EVENT_IPV4_DHCP_STOP \ …
379#define NET_EVENT_IPV4_MCAST_JOIN \
380 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MCAST_JOIN)
379#define NET_EVENT_IPV4_MCAST_JOIN \ …
383#define NET_EVENT_IPV4_MCAST_LEAVE \
384 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MCAST_LEAVE)
383#define NET_EVENT_IPV4_MCAST_LEAVE \ …
387#define NET_EVENT_IPV4_ACD_SUCCEED \
388 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_SUCCEED)
387#define NET_EVENT_IPV4_ACD_SUCCEED \ …
391#define NET_EVENT_IPV4_ACD_FAILED \
392 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_FAILED)
391#define NET_EVENT_IPV4_ACD_FAILED \ …
398#define NET_EVENT_IPV4_ACD_CONFLICT \
399 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_CONFLICT)
398#define NET_EVENT_IPV4_ACD_CONFLICT \ …
402#define NET_EVENT_IPV4_PMTU_CHANGED \
403 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_PMTU_CHANGED)
402#define NET_EVENT_IPV4_PMTU_CHANGED \ …
409#define NET_EVENT_L4_CONNECTED \
410 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CONNECTED)
409#define NET_EVENT_L4_CONNECTED \ …
417#define NET_EVENT_L4_DISCONNECTED \
418 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DISCONNECTED)
417#define NET_EVENT_L4_DISCONNECTED \ …
422#define NET_EVENT_L4_IPV4_CONNECTED \
423 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV4_CONNECTED)
422#define NET_EVENT_L4_IPV4_CONNECTED \ …
426#define NET_EVENT_L4_IPV4_DISCONNECTED \
427 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV4_DISCONNECTED)
426#define NET_EVENT_L4_IPV4_DISCONNECTED \ …
430#define NET_EVENT_L4_IPV6_CONNECTED \
431 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV6_CONNECTED)
430#define NET_EVENT_L4_IPV6_CONNECTED \ …
434#define NET_EVENT_L4_IPV6_DISCONNECTED \
435 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV6_DISCONNECTED)
434#define NET_EVENT_L4_IPV6_DISCONNECTED \ …
438#define NET_EVENT_DNS_SERVER_ADD \
439 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVER_ADD)
438#define NET_EVENT_DNS_SERVER_ADD \ …
442#define NET_EVENT_DNS_SERVER_DEL \
443 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVER_DEL)
442#define NET_EVENT_DNS_SERVER_DEL \ …
446#define NET_EVENT_HOSTNAME_CHANGED \
447 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_HOSTNAME_CHANGED)
446#define NET_EVENT_HOSTNAME_CHANGED \ …
450#define NET_EVENT_CAPTURE_STARTED \
451 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CAPTURE_STARTED)
450#define NET_EVENT_CAPTURE_STARTED \ …
454#define NET_EVENT_CAPTURE_STOPPED \
455 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CAPTURE_STOPPED)
454#define NET_EVENT_CAPTURE_STOPPED \ …
458#define NET_EVENT_VPN_CONNECTED \
459 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_CONNECTED)
458#define NET_EVENT_VPN_CONNECTED \ …
462#define NET_EVENT_VPN_DISCONNECTED \
463 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_DISCONNECTED)
462#define NET_EVENT_VPN_DISCONNECTED \ …
466#define NET_EVENT_VPN_PEER_ADD \
467 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_PEER_ADD)
466#define NET_EVENT_VPN_PEER_ADD \ …
470#define NET_EVENT_VPN_PEER_DEL \
471 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_PEER_DEL)
470#define NET_EVENT_VPN_PEER_DEL \ …
@ NET_MGMT_CMD
Scan results available.
Definition wifi_mgmt.h:352
Hostname configuration definitions.
IPv6 and IPv4 definitions.
Network Management API public header.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
IPv6 address struct.
Definition net_ip.h:143
IPv4 address struct.
Definition net_ip.h:155
Network Management event information structure Used to pass information on network event NET_EVENT_IP...
Definition net_event.h:573
struct in_addr dst
IPv4 address.
Definition net_event.h:575
uint16_t mtu
New MTU.
Definition net_event.h:577
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:483
struct in6_addr addr
IPv6 address related to this event.
Definition net_event.h:485
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:497
struct in6_addr addr
Neighbor IPv6 address.
Definition net_event.h:499
int idx
Neighbor index in cache.
Definition net_event.h:501
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:559
bool is_deny_list
IPv6 filter deny or allow list.
Definition net_event.h:563
struct in6_addr prefix
IPv6 address of privacy extension filter.
Definition net_event.h:561
Network Management event information structure Used to pass information on network event NET_EVENT_IP...
Definition net_event.h:587
uint32_t mtu
New MTU.
Definition net_event.h:591
struct in6_addr dst
IPv6 address.
Definition net_event.h:589
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:529
uint8_t len
IPv6 prefix length.
Definition net_event.h:533
struct in6_addr addr
IPv6 prefix.
Definition net_event.h:531
uint32_t lifetime
IPv6 prefix lifetime in seconds.
Definition net_event.h:535
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:512
struct in6_addr addr
IPv6 address or prefix of the route.
Definition net_event.h:516
uint8_t prefix_len
IPv6 prefix length.
Definition net_event.h:518
struct in6_addr nexthop
IPv6 address of the next hop.
Definition net_event.h:514
Network Management event information structure Used to pass information on NET_EVENT_HOSTNAME_CHANGED...
Definition net_event.h:544
char hostname[NET_HOSTNAME_SIZE]
New hostname.
Definition net_event.h:546