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,
227 NET_EVENT_L4_CMD_IF_CONNECTED_VAL,
228 NET_EVENT_L4_CMD_IF_DISCONNECTED_VAL,
233BUILD_ASSERT(NET_EVENT_L4_CMD_MAX <= NET_MGMT_MAX_COMMANDS,
234 "Number of events in net_event_l4_cmd exceeds the limit");
236enum net_event_l4_cmd {
252 NET_MGMT_CMD(NET_EVENT_L4_CMD_DNS_SERVERS_RECONFIGURED),
260#define NET_EVENT_IF_DOWN \
261 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_DOWN)
264#define NET_EVENT_IF_UP \
265 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_UP)
268#define NET_EVENT_IF_ADMIN_DOWN \
269 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_ADMIN_DOWN)
272#define NET_EVENT_IF_ADMIN_UP \
273 (NET_EVENT_IF_BASE | NET_EVENT_IF_CMD_ADMIN_UP)
276#define NET_EVENT_PACKET_MCAST_MEMBERSHIP_ADD \
277 (NET_EVENT_PACKET_BASE | NET_EVENT_PACKET_CMD_MCAST_MEMBERSHIP_ADD)
280#define NET_EVENT_PACKET_MCAST_MEMBERSHIP_DROP \
281 (NET_EVENT_PACKET_BASE | NET_EVENT_PACKET_CMD_MCAST_MEMBERSHIP_DROP)
284#define NET_EVENT_IPV6_ADDR_ADD \
285 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_ADD)
288#define NET_EVENT_IPV6_ADDR_DEL \
289 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_DEL)
292#define NET_EVENT_IPV6_MADDR_ADD \
293 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MADDR_ADD)
296#define NET_EVENT_IPV6_MADDR_DEL \
297 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MADDR_DEL)
300#define NET_EVENT_IPV6_PREFIX_ADD \
301 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PREFIX_ADD)
304#define NET_EVENT_IPV6_PREFIX_DEL \
305 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PREFIX_DEL)
308#define NET_EVENT_IPV6_MCAST_JOIN \
309 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MCAST_JOIN)
312#define NET_EVENT_IPV6_MCAST_LEAVE \
313 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MCAST_LEAVE)
316#define NET_EVENT_IPV6_ROUTER_ADD \
317 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_ADD)
320#define NET_EVENT_IPV6_ROUTER_DEL \
321 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_DEL)
324#define NET_EVENT_IPV6_ROUTE_ADD \
325 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTE_ADD)
328#define NET_EVENT_IPV6_ROUTE_DEL \
329 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTE_DEL)
332#define NET_EVENT_IPV6_DAD_SUCCEED \
333 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DAD_SUCCEED)
336#define NET_EVENT_IPV6_DAD_FAILED \
337 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DAD_FAILED)
340#define NET_EVENT_IPV6_NBR_ADD \
341 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_NBR_ADD)
344#define NET_EVENT_IPV6_NBR_DEL \
345 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_NBR_DEL)
348#define NET_EVENT_IPV6_DHCP_START \
349 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_START)
352#define NET_EVENT_IPV6_DHCP_BOUND \
353 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_BOUND)
356#define NET_EVENT_IPV6_DHCP_STOP \
357 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_DHCP_STOP)
360#define NET_EVENT_IPV6_ADDR_DEPRECATED \
361 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ADDR_DEPRECATED)
364#define NET_EVENT_IPV6_PE_ENABLED \
365 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_ENABLED)
368#define NET_EVENT_IPV6_PE_DISABLED \
369 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_DISABLED)
372#define NET_EVENT_IPV6_PE_FILTER_ADD \
373 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_FILTER_ADD)
376#define NET_EVENT_IPV6_PE_FILTER_DEL \
377 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PE_FILTER_DEL)
380#define NET_EVENT_IPV6_PMTU_CHANGED \
381 (NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_PMTU_CHANGED)
384#define NET_EVENT_IPV4_ADDR_ADD \
385 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ADDR_ADD)
388#define NET_EVENT_IPV4_ADDR_DEL \
389 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ADDR_DEL)
392#define NET_EVENT_IPV4_MADDR_ADD \
393 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MADDR_ADD)
396#define NET_EVENT_IPV4_MADDR_DEL \
397 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MADDR_DEL)
400#define NET_EVENT_IPV4_ROUTER_ADD \
401 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTER_ADD)
404#define NET_EVENT_IPV4_ROUTER_DEL \
405 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTER_DEL)
408#define NET_EVENT_IPV4_ROUTE_ADD \
409 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTE_ADD)
412#define NET_EVENT_IPV4_ROUTE_DEL \
413 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ROUTE_DEL)
416#define NET_EVENT_IPV4_DHCP_START \
417 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_START)
420#define NET_EVENT_IPV4_DHCP_BOUND \
421 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_BOUND)
424#define NET_EVENT_IPV4_DHCP_STOP \
425 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_DHCP_STOP)
428#define NET_EVENT_IPV4_MCAST_JOIN \
429 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MCAST_JOIN)
432#define NET_EVENT_IPV4_MCAST_LEAVE \
433 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_MCAST_LEAVE)
436#define NET_EVENT_IPV4_ACD_SUCCEED \
437 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_SUCCEED)
440#define NET_EVENT_IPV4_ACD_FAILED \
441 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_FAILED)
447#define NET_EVENT_IPV4_ACD_CONFLICT \
448 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_ACD_CONFLICT)
451#define NET_EVENT_IPV4_PMTU_CHANGED \
452 (NET_EVENT_IPV4_BASE | NET_EVENT_IPV4_CMD_PMTU_CHANGED)
458#define NET_EVENT_L4_CONNECTED \
459 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CONNECTED)
466#define NET_EVENT_L4_DISCONNECTED \
467 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DISCONNECTED)
471#define NET_EVENT_L4_IPV4_CONNECTED \
472 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV4_CONNECTED)
475#define NET_EVENT_L4_IPV4_DISCONNECTED \
476 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV4_DISCONNECTED)
479#define NET_EVENT_L4_IPV6_CONNECTED \
480 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV6_CONNECTED)
483#define NET_EVENT_L4_IPV6_DISCONNECTED \
484 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IPV6_DISCONNECTED)
487#define NET_EVENT_DNS_SERVER_ADD \
488 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVER_ADD)
491#define NET_EVENT_DNS_SERVER_DEL \
492 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVER_DEL)
506#define NET_EVENT_DNS_SERVERS_RECONFIGURED \
507 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_DNS_SERVERS_RECONFIGURED)
510#define NET_EVENT_HOSTNAME_CHANGED \
511 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_HOSTNAME_CHANGED)
514#define NET_EVENT_CAPTURE_STARTED \
515 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CAPTURE_STARTED)
518#define NET_EVENT_CAPTURE_STOPPED \
519 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_CAPTURE_STOPPED)
522#define NET_EVENT_VPN_CONNECTED \
523 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_CONNECTED)
526#define NET_EVENT_VPN_DISCONNECTED \
527 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_DISCONNECTED)
530#define NET_EVENT_VPN_PEER_ADD \
531 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_PEER_ADD)
534#define NET_EVENT_VPN_PEER_DEL \
535 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_VPN_PEER_DEL)
538#define NET_EVENT_L4_IF_CONNECTED \
539 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IF_CONNECTED)
542#define NET_EVENT_L4_IF_DISCONNECTED \
543 (NET_EVENT_L4_BASE | NET_EVENT_L4_CMD_IF_DISCONNECTED)
@ NET_MGMT_CMD
Scan results available.
Definition wifi_mgmt.h:416
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:678
uint16_t mtu
New MTU.
Definition net_event.h:682
struct net_in_addr dst
IPv4 address.
Definition net_event.h:680
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:617
struct net_in_addr nexthop
IPv4 address of the next hop.
Definition net_event.h:619
uint8_t prefix_len
IPv4 prefix length.
Definition net_event.h:623
struct net_in_addr addr
IPv4 address or prefix of the route.
Definition net_event.h:621
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:571
struct net_in6_addr addr
IPv6 address related to this event.
Definition net_event.h:573
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:585
int idx
Neighbor index in cache.
Definition net_event.h:589
struct net_in6_addr addr
Neighbor IPv6 address.
Definition net_event.h:587
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:664
bool is_deny_list
IPv6 filter deny or allow list.
Definition net_event.h:668
struct net_in6_addr prefix
IPv6 address of privacy extension filter.
Definition net_event.h:666
Network Management event information structure Used to pass information on network event NET_EVENT_IP...
Definition net_event.h:692
uint32_t mtu
New MTU.
Definition net_event.h:696
struct net_in6_addr dst
IPv6 address.
Definition net_event.h:694
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:634
uint8_t len
IPv6 prefix length.
Definition net_event.h:638
uint32_t lifetime
IPv6 prefix lifetime in seconds.
Definition net_event.h:640
struct net_in6_addr addr
IPv6 prefix.
Definition net_event.h:636
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:600
uint8_t prefix_len
IPv6 prefix length.
Definition net_event.h:606
struct net_in6_addr addr
IPv6 address or prefix of the route.
Definition net_event.h:604
struct net_in6_addr nexthop
IPv6 address of the next hop.
Definition net_event.h:602
Network Management event information structure Used to pass information on NET_EVENT_HOSTNAME_CHANGED...
Definition net_event.h:649
char hostname[NET_HOSTNAME_SIZE]
New hostname.
Definition net_event.h:651
Network Management event information structure Used to pass information on network events like NET_EV...
Definition net_event.h:553
struct net_linkaddr addr
L2 multicast address of the group.
Definition net_event.h:555
uint16_t type
Multicast filtering type, one of the NET_PACKET_MR_* values.
Definition net_event.h:558
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