diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2022-06-23 11:14:46 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2022-06-23 11:23:08 -0400 |
| commit | 2b9dc841b7bc608c2dc5256604f6ef7e9f72fbfd (patch) | |
| tree | 975019b0ed962585da557740949b3a47014a2a7f /zebra/zebra_dplane.c | |
| parent | 98b3ab772e994ac39a005b144cc2fc6da535d345 (diff) | |
zebra: Fix bug in netconf handling where dplane would drop the change
When reading a on the fly change of an interested netconf netlink
message. The ifindex and ns_id for the context was being set for the sub structure
but not for the main context data structure and zebra_if_dplane_result
was dropping the result on the floor because it was expecting the ns_id and
the interface id to be in a different spot.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'zebra/zebra_dplane.c')
| -rw-r--r-- | zebra/zebra_dplane.c | 33 |
1 files changed, 1 insertions, 32 deletions
diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c index bb03d33e99..d464f4a4e6 100644 --- a/zebra/zebra_dplane.c +++ b/zebra/zebra_dplane.c @@ -301,8 +301,6 @@ struct dplane_gre_ctx { * info. The flags values are public, in the dplane.h file... */ struct dplane_netconf_info { - ns_id_t ns_id; - ifindex_t ifindex; enum dplane_netconf_status_e mpls_val; enum dplane_netconf_status_e mcast_val; }; @@ -2334,35 +2332,6 @@ dplane_ctx_neightable_get_mcast_probes(const struct zebra_dplane_ctx *ctx) return ctx->u.neightable.mcast_probes; } -ifindex_t dplane_ctx_get_netconf_ifindex(const struct zebra_dplane_ctx *ctx) -{ - DPLANE_CTX_VALID(ctx); - - return ctx->u.netconf.ifindex; -} - -ns_id_t dplane_ctx_get_netconf_ns_id(const struct zebra_dplane_ctx *ctx) -{ - DPLANE_CTX_VALID(ctx); - - return ctx->u.netconf.ns_id; -} - -void dplane_ctx_set_netconf_ifindex(struct zebra_dplane_ctx *ctx, - ifindex_t ifindex) -{ - DPLANE_CTX_VALID(ctx); - - ctx->u.netconf.ifindex = ifindex; -} - -void dplane_ctx_set_netconf_ns_id(struct zebra_dplane_ctx *ctx, ns_id_t ns_id) -{ - DPLANE_CTX_VALID(ctx); - - ctx->u.netconf.ns_id = ns_id; -} - enum dplane_netconf_status_e dplane_ctx_get_netconf_mpls(const struct zebra_dplane_ctx *ctx) { @@ -5439,7 +5408,7 @@ static void kernel_dplane_log_detail(struct zebra_dplane_ctx *ctx) case DPLANE_OP_INTF_NETCONFIG: zlog_debug("%s: ifindex %d, mpls %d, mcast %d", dplane_op2str(dplane_ctx_get_op(ctx)), - dplane_ctx_get_netconf_ifindex(ctx), + dplane_ctx_get_ifindex(ctx), dplane_ctx_get_netconf_mpls(ctx), dplane_ctx_get_netconf_mcast(ctx)); break; |
