net: ipv6: Adding router mgmt add/del events
If IPv6 router is added, then NET_EVENT_IPV6_ROUTER_ADD event is generated. When router is removed, NET_EVENT_IPV6_ROUTER_DEL is then generated. This is useful info if we want to have a generic connectivity to outside of our local network. Change-Id: Ia03958a071ceb998127894025c99ab72a8b648d5 Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This commit is contained in:
parent
35352130b5
commit
2149ec599e
2 changed files with 13 additions and 0 deletions
|
@ -48,6 +48,8 @@ enum net_event_ipv6_cmd {
|
|||
NET_EVENT_IPV6_CMD_PREFIX_DEL,
|
||||
NET_EVENT_IPV6_CMD_MCAST_JOIN,
|
||||
NET_EVENT_IPV6_CMD_MCAST_LEAVE,
|
||||
NET_EVENT_IPV6_CMD_ROUTER_ADD,
|
||||
NET_EVENT_IPV6_CMD_ROUTER_DEL,
|
||||
};
|
||||
|
||||
#define NET_EVENT_IPV6_ADDR_ADD \
|
||||
|
@ -74,6 +76,12 @@ enum net_event_ipv6_cmd {
|
|||
#define NET_EVENT_IPV6_MCAST_LEAVE \
|
||||
(_NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_MCAST_LEAVE)
|
||||
|
||||
#define NET_EVENT_IPV6_ROUTER_ADD \
|
||||
(_NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_ADD)
|
||||
|
||||
#define NET_EVENT_IPV6_ROUTER_DEL \
|
||||
(_NET_EVENT_IPV6_BASE | NET_EVENT_IPV6_CMD_ROUTER_DEL)
|
||||
|
||||
/* IPv4 Events*/
|
||||
#define _NET_IPV4_LAYER NET_MGMT_LAYER_L3
|
||||
#define _NET_IPV4_CORE_CODE 0x400
|
||||
|
|
|
@ -1043,6 +1043,8 @@ struct net_if_router *net_if_ipv6_router_add(struct net_if *iface,
|
|||
i, iface, net_sprint_ipv6_addr(addr), lifetime,
|
||||
routers[i].is_default);
|
||||
|
||||
net_mgmt_event_notify(NET_EVENT_IPV6_ROUTER_ADD, iface);
|
||||
|
||||
return &routers[i];
|
||||
}
|
||||
|
||||
|
@ -1066,6 +1068,9 @@ bool net_if_ipv6_router_rm(struct net_if_router *router)
|
|||
|
||||
routers[i].is_used = false;
|
||||
|
||||
net_mgmt_event_notify(NET_EVENT_IPV6_ROUTER_DEL,
|
||||
routers[i].iface);
|
||||
|
||||
NET_DBG("[%d] router %s removed",
|
||||
i, net_sprint_ipv6_addr(&routers[i].address.in6_addr));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue