summaryrefslogtreecommitdiff
path: root/zebra/kernel_netlink.c
diff options
context:
space:
mode:
authorMark Stapp <mstapp@nvidia.com>2021-10-28 11:23:31 -0400
committerMark Stapp <mstapp@nvidia.com>2022-02-25 10:18:32 -0500
commitcd787a8a45ea3c94a689d5ff01ddf62467373550 (patch)
tree6d33a836729d423443dd004ca2eda91933c44ea6 /zebra/kernel_netlink.c
parent728f2017ae285aea6f7e8bda369eaae7a3083899 (diff)
zebra: use dataplane to read interface NETCONF info
Use the dataplane to query and read interface NETCONF data; add netconf-oriented data to the dplane context object, and add accessors for it. Add handler for incoming update processing. Signed-off-by: Mark Stapp <mstapp@nvidia.com>
Diffstat (limited to 'zebra/kernel_netlink.c')
-rw-r--r--zebra/kernel_netlink.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/zebra/kernel_netlink.c b/zebra/kernel_netlink.c
index 44389ae011..031ac0733c 100644
--- a/zebra/kernel_netlink.c
+++ b/zebra/kernel_netlink.c
@@ -372,13 +372,11 @@ static int netlink_information_fetch(struct nlmsghdr *h, ns_id_t ns_id,
case RTM_DELNEXTHOP:
return netlink_nexthop_change(h, ns_id, startup);
- case RTM_NEWNETCONF:
- case RTM_DELNETCONF:
- return netlink_netconf_change(h, ns_id, startup);
-
/* Messages handled in the dplane thread */
case RTM_NEWADDR:
case RTM_DELADDR:
+ case RTM_NEWNETCONF:
+ case RTM_DELNETCONF:
return 0;
default:
@@ -1616,13 +1614,15 @@ void kernel_init(struct zebra_ns *zns)
RTMGRP_NEIGH |
((uint32_t) 1 << (RTNLGRP_IPV4_RULE - 1)) |
((uint32_t) 1 << (RTNLGRP_IPV6_RULE - 1)) |
- ((uint32_t) 1 << (RTNLGRP_NEXTHOP - 1)) |
- ((uint32_t) 1 << (RTNLGRP_IPV4_NETCONF - 1)) |
- ((uint32_t) 1 << (RTNLGRP_MPLS_NETCONF - 1));
+ ((uint32_t) 1 << (RTNLGRP_NEXTHOP - 1));
dplane_groups = (RTMGRP_LINK |
RTMGRP_IPV4_IFADDR |
- RTMGRP_IPV6_IFADDR);
+ RTMGRP_IPV6_IFADDR |
+ ((uint32_t) 1 << (RTNLGRP_IPV4_NETCONF - 1)) |
+ ((uint32_t) 1 << (RTNLGRP_IPV6_NETCONF - 1)) |
+ ((uint32_t) 1 << (RTNLGRP_MPLS_NETCONF - 1)));
+
snprintf(zns->netlink.name, sizeof(zns->netlink.name),
"netlink-listen (NS %u)", zns->ns_id);