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_PACKET_LAYER NET_MGMT_LAYER_L2
59#define NET_PACKET_CORE_CODE NET_MGMT_LAYER_CODE_PACKET
60#define NET_EVENT_PACKET_BASE (NET_MGMT_EVENT_BIT | \
61 NET_MGMT_IFACE_BIT | \
62 NET_MGMT_LAYER(NET_PACKET_LAYER) | \
63 NET_MGMT_LAYER_CODE(NET_PACKET_CORE_CODE))
66 NET_EVENT_PACKET_CMD_MCAST_MEMBERSHIP_ADD_VAL,
67 NET_EVENT_PACKET_CMD_MCAST_MEMBERSHIP_DROP_VAL,
69 NET_EVENT_PACKET_CMD_MAX
72BUILD_ASSERT(NET_EVENT_PACKET_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
73 "Number of events in net_event_packet_cmd exceeds the limit");
75enum net_event_packet_cmd {
77 NET_MGMT_CMD(NET_EVENT_PACKET_CMD_MCAST_MEMBERSHIP_DROP),
81#define NET_IPV6_LAYER NET_MGMT_LAYER_L3
82#define NET_IPV6_CORE_CODE NET_MGMT_LAYER_CODE_IPV6
83#define NET_EVENT_IPV6_BASE (NET_MGMT_EVENT_BIT | \
84 NET_MGMT_IFACE_BIT | \
85 NET_MGMT_LAYER(NET_IPV6_LAYER) | \
86 NET_MGMT_LAYER_CODE(NET_IPV6_CORE_CODE))
89 NET_EVENT_IPV6_CMD_ADDR_ADD_VAL,
90 NET_EVENT_IPV6_CMD_ADDR_DEL_VAL,
91 NET_EVENT_IPV6_CMD_MADDR_ADD_VAL,
92 NET_EVENT_IPV6_CMD_MADDR_DEL_VAL,
93 NET_EVENT_IPV6_CMD_PREFIX_ADD_VAL,
94 NET_EVENT_IPV6_CMD_PREFIX_DEL_VAL,
95 NET_EVENT_IPV6_CMD_MCAST_JOIN_VAL,
96 NET_EVENT_IPV6_CMD_MCAST_LEAVE_VAL,
97 NET_EVENT_IPV6_CMD_ROUTER_ADD_VAL,
98 NET_EVENT_IPV6_CMD_ROUTER_DEL_VAL,
99 NET_EVENT_IPV6_CMD_ROUTE_ADD_VAL,
100 NET_EVENT_IPV6_CMD_ROUTE_DEL_VAL,
101 NET_EVENT_IPV6_CMD_DAD_SUCCEED_VAL,
102 NET_EVENT_IPV6_CMD_DAD_FAILED_VAL,
103 NET_EVENT_IPV6_CMD_NBR_ADD_VAL,
104 NET_EVENT_IPV6_CMD_NBR_DEL_VAL,
105 NET_EVENT_IPV6_CMD_DHCP_START_VAL,
106 NET_EVENT_IPV6_CMD_DHCP_BOUND_VAL,
107 NET_EVENT_IPV6_CMD_DHCP_STOP_VAL,
108 NET_EVENT_IPV6_CMD_ADDR_DEPRECATED_VAL,
109 NET_EVENT_IPV6_CMD_PE_ENABLED_VAL,
110 NET_EVENT_IPV6_CMD_PE_DISABLED_VAL,
111 NET_EVENT_IPV6_CMD_PE_FILTER_ADD_VAL,
112 NET_EVENT_IPV6_CMD_PE_FILTER_DEL_VAL,
113 NET_EVENT_IPV6_CMD_PMTU_CHANGED_VAL,
115 NET_EVENT_IPV6_CMD_MAX
118BUILD_ASSERT(NET_EVENT_IPV6_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
119 "Number of events in net_event_ipv6_cmd exceeds the limit");
121enum net_event_ipv6_cmd {
150#define NET_IPV4_LAYER NET_MGMT_LAYER_L3
151#define NET_IPV4_CORE_CODE NET_MGMT_LAYER_CODE_IPV4
152#define NET_EVENT_IPV4_BASE (NET_MGMT_EVENT_BIT | \
153 NET_MGMT_IFACE_BIT | \
154 NET_MGMT_LAYER(NET_IPV4_LAYER) | \
155 NET_MGMT_LAYER_CODE(NET_IPV4_CORE_CODE))
158 NET_EVENT_IPV4_CMD_ADDR_ADD_VAL,
159 NET_EVENT_IPV4_CMD_ADDR_DEL_VAL,
160 NET_EVENT_IPV4_CMD_MADDR_ADD_VAL,
161 NET_EVENT_IPV4_CMD_MADDR_DEL_VAL,
162 NET_EVENT_IPV4_CMD_ROUTER_ADD_VAL,
163 NET_EVENT_IPV4_CMD_ROUTER_DEL_VAL,
164 NET_EVENT_IPV4_CMD_ROUTE_ADD_VAL,
165 NET_EVENT_IPV4_CMD_ROUTE_DEL_VAL,
166 NET_EVENT_IPV4_CMD_DHCP_START_VAL,
167 NET_EVENT_IPV4_CMD_DHCP_BOUND_VAL,
168 NET_EVENT_IPV4_CMD_DHCP_STOP_VAL,
169 NET_EVENT_IPV4_CMD_MCAST_JOIN_VAL,
170 NET_EVENT_IPV4_CMD_MCAST_LEAVE_VAL,
171 NET_EVENT_IPV4_CMD_ACD_SUCCEED_VAL,
172 NET_EVENT_IPV4_CMD_ACD_FAILED_VAL,
173 NET_EVENT_IPV4_CMD_ACD_CONFLICT_VAL,
174 NET_EVENT_IPV4_CMD_PMTU_CHANGED_VAL,
176 NET_EVENT_IPV4_CMD_MAX
179BUILD_ASSERT(NET_EVENT_IPV4_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
180 "Number of events in net_event_ipv4_cmd exceeds the limit");
182enum net_event_ipv4_cmd {
203#define NET_L4_LAYER NET_MGMT_LAYER_L4
204#define NET_L4_CORE_CODE NET_MGMT_LAYER_CODE_L4
205#define NET_EVENT_L4_BASE (NET_MGMT_EVENT_BIT | \
206 NET_MGMT_IFACE_BIT | \
207 NET_MGMT_LAYER(NET_L4_LAYER) | \
208 NET_MGMT_LAYER_CODE(NET_L4_CORE_CODE))
211 NET_EVENT_L4_CMD_CONNECTED_VAL,
212 NET_EVENT_L4_CMD_DISCONNECTED_VAL,
213 NET_EVENT_L4_CMD_IPV4_CONNECTED_VAL,
214 NET_EVENT_L4_CMD_IPV4_DISCONNECTED_VAL,
215 NET_EVENT_L4_CMD_IPV6_CONNECTED_VAL,
216 NET_EVENT_L4_CMD_IPV6_DISCONNECTED_VAL,
217 NET_EVENT_L4_CMD_DNS_SERVER_ADD_VAL,
218 NET_EVENT_L4_CMD_DNS_SERVER_DEL_VAL,
219 NET_EVENT_L4_CMD_HOSTNAME_CHANGED_VAL,
220 NET_EVENT_L4_CMD_CAPTURE_STARTED_VAL,
221 NET_EVENT_L4_CMD_CAPTURE_STOPPED_VAL,
222 NET_EVENT_L4_CMD_VPN_CONNECTED_VAL,
223 NET_EVENT_L4_CMD_VPN_DISCONNECTED_VAL,
224 NET_EVENT_L4_CMD_VPN_PEER_ADD_VAL,
225 NET_EVENT_L4_CMD_VPN_PEER_DEL_VAL,
226 NET_EVENT_L4_CMD_DNS_SERVERS_RECONFIGURED_VAL,
231BUILD_ASSERT(NET_EVENT_L4_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
232 "Number of events in net_event_l4_cmd exceeds the limit");
234enum net_event_l4_cmd {
250 NET_MGMT_CMD(NET_EVENT_L4_CMD_DNS_SERVERS_RECONFIGURED),
256#define NET_EVENT_IF_DOWN \
257 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_DOWN)
260#define NET_EVENT_IF_UP \
261 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_UP)
264#define NET_EVENT_IF_ADMIN_DOWN \
265 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_ADMIN_DOWN)
268#define NET_EVENT_IF_ADMIN_UP \
269 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_ADMIN_UP)
272#define NET_EVENT_PACKET_MCAST_MEMBERSHIP_ADD \
273 (NET_EVENT_PACKET_BASE | NET_EVENT_PACKET_CMD_MCAST_MEMBERSHIP_ADD)
276#define NET_EVENT_PACKET_MCAST_MEMBERSHIP_DROP \
277 (NET_EVENT_PACKET_BASE | NET_EVENT_PACKET_CMD_MCAST_MEMBERSHIP_DROP)
280#define NET_EVENT_IPV6_ADDR_ADD \
281 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_ADD)
284#define NET_EVENT_IPV6_ADDR_DEL \
285 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_DEL)
288#define NET_EVENT_IPV6_MADDR_ADD \
289 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MADDR_ADD)
292#define NET_EVENT_IPV6_MADDR_DEL \
293 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MADDR_DEL)
296#define NET_EVENT_IPV6_PREFIX_ADD \
297 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PREFIX_ADD)
300#define NET_EVENT_IPV6_PREFIX_DEL \
301 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PREFIX_DEL)
304#define NET_EVENT_IPV6_MCAST_JOIN \
305 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MCAST_JOIN)
308#define NET_EVENT_IPV6_MCAST_LEAVE \
309 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MCAST_LEAVE)
312#define NET_EVENT_IPV6_ROUTER_ADD \
313 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_ADD)
316#define NET_EVENT_IPV6_ROUTER_DEL \
317 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_DEL)
320#define NET_EVENT_IPV6_ROUTE_ADD \
321 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTE_ADD)
324#define NET_EVENT_IPV6_ROUTE_DEL \
325 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTE_DEL)
328#define NET_EVENT_IPV6_DAD_SUCCEED \
329 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DAD_SUCCEED)
332#define NET_EVENT_IPV6_DAD_FAILED \
333 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DAD_FAILED)
336#define NET_EVENT_IPV6_NBR_ADD \
337 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_NBR_ADD)
340#define NET_EVENT_IPV6_NBR_DEL \
341 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_NBR_DEL)
344#define NET_EVENT_IPV6_DHCP_START \
345 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_START)
348#define NET_EVENT_IPV6_DHCP_BOUND \
349 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_BOUND)
352#define NET_EVENT_IPV6_DHCP_STOP \
353 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_STOP)
356#define NET_EVENT_IPV6_ADDR_DEPRECATED \
357 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_DEPRECATED)
360#define NET_EVENT_IPV6_PE_ENABLED \
361 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_ENABLED)
364#define NET_EVENT_IPV6_PE_DISABLED \
365 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_DISABLED)
368#define NET_EVENT_IPV6_PE_FILTER_ADD \
369 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_FILTER_ADD)
372#define NET_EVENT_IPV6_PE_FILTER_DEL \
373 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_FILTER_DEL)
376#define NET_EVENT_IPV6_PMTU_CHANGED \
377 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PMTU_CHANGED)
380#define NET_EVENT_IPV4_ADDR_ADD \
381 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ADDR_ADD)
384#define NET_EVENT_IPV4_ADDR_DEL \
385 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ADDR_DEL)
388#define NET_EVENT_IPV4_MADDR_ADD \
389 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MADDR_ADD)
392#define NET_EVENT_IPV4_MADDR_DEL \
393 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MADDR_DEL)
396#define NET_EVENT_IPV4_ROUTER_ADD \
397 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTER_ADD)
400#define NET_EVENT_IPV4_ROUTER_DEL \
401 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTER_DEL)
404#define NET_EVENT_IPV4_ROUTE_ADD \
405 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTE_ADD)
408#define NET_EVENT_IPV4_ROUTE_DEL \
409 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTE_DEL)
412#define NET_EVENT_IPV4_DHCP_START \
413 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_START)
416#define NET_EVENT_IPV4_DHCP_BOUND \
417 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_BOUND)
420#define NET_EVENT_IPV4_DHCP_STOP \
421 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_STOP)
424#define NET_EVENT_IPV4_MCAST_JOIN \
425 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MCAST_JOIN)
428#define NET_EVENT_IPV4_MCAST_LEAVE \
429 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MCAST_LEAVE)
432#define NET_EVENT_IPV4_ACD_SUCCEED \
433 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_SUCCEED)
436#define NET_EVENT_IPV4_ACD_FAILED \
437 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_FAILED)
443#define NET_EVENT_IPV4_ACD_CONFLICT \
444 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_CONFLICT)
447#define NET_EVENT_IPV4_PMTU_CHANGED \
448 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_PMTU_CHANGED)
454#define NET_EVENT_L4_CONNECTED \
455 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CONNECTED)
462#define NET_EVENT_L4_DISCONNECTED \
463 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DISCONNECTED)
467#define NET_EVENT_L4_IPV4_CONNECTED \
468 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV4_CONNECTED)
471#define NET_EVENT_L4_IPV4_DISCONNECTED \
472 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV4_DISCONNECTED)
475#define NET_EVENT_L4_IPV6_CONNECTED \
476 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV6_CONNECTED)
479#define NET_EVENT_L4_IPV6_DISCONNECTED \
480 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV6_DISCONNECTED)
483#define NET_EVENT_DNS_SERVER_ADD \
484 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVER_ADD)
487#define NET_EVENT_DNS_SERVER_DEL \
488 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVER_DEL)
502#define NET_EVENT_DNS_SERVERS_RECONFIGURED \
503 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVERS_RECONFIGURED)
506#define NET_EVENT_HOSTNAME_CHANGED \
507 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_HOSTNAME_CHANGED)
510#define NET_EVENT_CAPTURE_STARTED \
511 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CAPTURE_STARTED)
514#define NET_EVENT_CAPTURE_STOPPED \
515 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CAPTURE_STOPPED)
518#define NET_EVENT_VPN_CONNECTED \
519 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_CONNECTED)
522#define NET_EVENT_VPN_DISCONNECTED \
523 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_DISCONNECTED)
526#define NET_EVENT_VPN_PEER_ADD \
527 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_PEER_ADD)
530#define NET_EVENT_VPN_PEER_DEL \
531 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_PEER_DEL)
@ NET_MGMT_CMD
Scan results available.
Definition wifi_mgmt.h:413
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
Network Management event information structure Used to pass information on network event NET_EVENT_IP...
Definition net_event.h:666
uint16_t mtu
New MTU.
Definition net_event.h:670
struct net_in_addr dst
IPv4 address.
Definition net_event.h:668
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:605
struct net_in_addr nexthop
IPv4 address of the next hop.
Definition net_event.h:607
uint8_t prefix_len
IPv4 prefix length.
Definition net_event.h:611
struct net_in_addr addr
IPv4 address or prefix of the route.
Definition net_event.h:609
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:559
struct net_in6_addr addr
IPv6 address related to this event.
Definition net_event.h:561
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:573
int idx
Neighbor index in cache.
Definition net_event.h:577
struct net_in6_addr addr
Neighbor IPv6 address.
Definition net_event.h:575
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:652
bool is_deny_list
IPv6 filter deny or allow list.
Definition net_event.h:656
struct net_in6_addr prefix
IPv6 address of privacy extension filter.
Definition net_event.h:654
Network Management event information structure Used to pass information on network event NET_EVENT_IP...
Definition net_event.h:680
uint32_t mtu
New MTU.
Definition net_event.h:684
struct net_in6_addr dst
IPv6 address.
Definition net_event.h:682
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:622
uint8_t len
IPv6 prefix length.
Definition net_event.h:626
uint32_t lifetime
IPv6 prefix lifetime in seconds.
Definition net_event.h:628
struct net_in6_addr addr
IPv6 prefix.
Definition net_event.h:624
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:588
uint8_t prefix_len
IPv6 prefix length.
Definition net_event.h:594
struct net_in6_addr addr
IPv6 address or prefix of the route.
Definition net_event.h:592
struct net_in6_addr nexthop
IPv6 address of the next hop.
Definition net_event.h:590
Network Management event information structure Used to pass information on NET_EVENT_HOSTNAME_CHANGED...
Definition net_event.h:637
char hostname[NET_HOSTNAME_SIZE]
New hostname.
Definition net_event.h:639
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:541
struct net_linkaddr addr
L2 multicast address of the group.
Definition net_event.h:543
uint16_t type
Multicast filtering type, one of the NET_PACKET_MR_* values.
Definition net_event.h:546
IPv6 address struct.
Definition net_ip.h:144
IPv4 address struct.
Definition net_ip.h:156
Hardware link address structure.
Definition net_linkaddr.h:83