summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas.abraitis@gmail.com>2022-02-04 17:51:31 +0200
committerGitHub <noreply@github.com>2022-02-04 17:51:31 +0200
commit66a59f87435e5cb7be61a9566c3aecc8c3bcc5d7 (patch)
tree791f1d1ac2cc2b360aa2ff7f60179f58038e6834
parentd058d106f0e04d4fb531a2466c0e2d9a5a559663 (diff)
parentceab66b7f42516412747e47a080125a9f758162a (diff)
Merge pull request #10469 from mjstapp/fix_dplane_netlink_groups
zebra: reduce incoming netlink messages for dplane thread
-rw-r--r--zebra/kernel_netlink.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/zebra/kernel_netlink.c b/zebra/kernel_netlink.c
index d614aa26d0..e7ef28d0f7 100644
--- a/zebra/kernel_netlink.c
+++ b/zebra/kernel_netlink.c
@@ -1455,7 +1455,7 @@ void kernel_update_multi(struct dplane_ctx_q *ctx_list)
netlink_socket (). */
void kernel_init(struct zebra_ns *zns)
{
- uint32_t groups;
+ uint32_t groups, dplane_groups;
#if defined SOL_NETLINK
int one, ret;
#endif
@@ -1480,6 +1480,10 @@ void kernel_init(struct zebra_ns *zns)
((uint32_t) 1 << (RTNLGRP_IPV6_RULE - 1)) |
((uint32_t) 1 << (RTNLGRP_NEXTHOP - 1));
+ dplane_groups = (RTMGRP_LINK |
+ RTMGRP_IPV4_IFADDR |
+ RTMGRP_IPV6_IFADDR);
+
snprintf(zns->netlink.name, sizeof(zns->netlink.name),
"netlink-listen (NS %u)", zns->ns_id);
zns->netlink.sock = -1;
@@ -1514,7 +1518,8 @@ void kernel_init(struct zebra_ns *zns)
sizeof(zns->netlink_dplane_in.name), "netlink-dp-in (NS %u)",
zns->ns_id);
zns->netlink_dplane_in.sock = -1;
- if (netlink_socket(&zns->netlink_dplane_in, groups, zns->ns_id) < 0) {
+ if (netlink_socket(&zns->netlink_dplane_in, dplane_groups,
+ zns->ns_id) < 0) {
zlog_err("Failure to create %s socket",
zns->netlink_dplane_in.name);
exit(-1);