diff options
| author | Donatas Abraitis <donatas.abraitis@gmail.com> | 2022-02-04 17:51:31 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-04 17:51:31 +0200 |
| commit | 66a59f87435e5cb7be61a9566c3aecc8c3bcc5d7 (patch) | |
| tree | 791f1d1ac2cc2b360aa2ff7f60179f58038e6834 | |
| parent | d058d106f0e04d4fb531a2466c0e2d9a5a559663 (diff) | |
| parent | ceab66b7f42516412747e47a080125a9f758162a (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.c | 9 |
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); |
