summaryrefslogtreecommitdiff
path: root/zebra/if_netlink.c
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2023-09-04 15:20:56 +0300
committerGitHub <noreply@github.com>2023-09-04 15:20:56 +0300
commitff542b22d219107bede01c74b426ddda87c7a31d (patch)
treecd8a2a63973fc488b7d452b547035ebac82a2c1a /zebra/if_netlink.c
parent640b59a8b0d87337fef336950e7ebf94a3344a7f (diff)
parent7b8a4249ea9481ced4a5c29a7b5cacc0e3acb80d (diff)
Merge pull request #14340 from mjstapp/txqlen_info
lib,zebra: add tx queuelen to interface struct
Diffstat (limited to 'zebra/if_netlink.c')
-rw-r--r--zebra/if_netlink.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c
index ca0a354afd..61a8c6a78a 100644
--- a/zebra/if_netlink.c
+++ b/zebra/if_netlink.c
@@ -1508,6 +1508,7 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
ns_id_t link_nsid = ns_id;
ifindex_t master_infindex = IFINDEX_INTERNAL;
uint8_t bypass = 0;
+ uint32_t txqlen = 0;
frrtrace(3, frr_zebra, netlink_interface, h, ns_id, startup);
@@ -1586,6 +1587,9 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
link_nsid = ns_id_get_absolute(ns_id, link_nsid);
}
+ if (tb[IFLA_TXQLEN])
+ txqlen = *(uint32_t *)RTA_DATA(tb[IFLA_TXQLEN]);
+
struct zebra_dplane_ctx *ctx = dplane_ctx_alloc();
dplane_ctx_set_ns_id(ctx, ns_id);
dplane_ctx_set_ifp_link_nsid(ctx, link_nsid);
@@ -1594,6 +1598,7 @@ int netlink_link_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
dplane_ctx_set_ifname(ctx, name);
dplane_ctx_set_ifp_startup(ctx, startup);
dplane_ctx_set_ifp_family(ctx, ifi->ifi_family);
+ dplane_ctx_set_intf_txqlen(ctx, txqlen);
/* We are interested in some AF_BRIDGE notifications. */
#ifndef AF_BRIDGE