summaryrefslogtreecommitdiff
path: root/zebra/zebra_dplane.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_dplane.c')
-rw-r--r--zebra/zebra_dplane.c71
1 files changed, 34 insertions, 37 deletions
diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c
index 3d258e0829..4000272544 100644
--- a/zebra/zebra_dplane.c
+++ b/zebra/zebra_dplane.c
@@ -2145,23 +2145,21 @@ dplane_ctx_get_br_port_backup_nhg_id(const struct zebra_dplane_ctx *ctx)
}
/* Accessors for PBR iptable information */
-bool
-dplane_ctx_get_pbr_iptable(const struct zebra_dplane_ctx *ctx,
- struct zebra_pbr_iptable *table)
+void dplane_ctx_get_pbr_iptable(const struct zebra_dplane_ctx *ctx,
+ struct zebra_pbr_iptable *table)
{
DPLANE_CTX_VALID(ctx);
memcpy(table, &ctx->u.iptable, sizeof(struct zebra_pbr_iptable));
- return true;
}
-bool dplane_ctx_get_pbr_ipset(const struct zebra_dplane_ctx *ctx,
+void dplane_ctx_get_pbr_ipset(const struct zebra_dplane_ctx *ctx,
struct zebra_pbr_ipset *ipset)
{
DPLANE_CTX_VALID(ctx);
- if (!ipset)
- return false;
+ assert(ipset);
+
if (ctx->zd_op == DPLANE_OP_IPSET_ENTRY_ADD ||
ctx->zd_op == DPLANE_OP_IPSET_ENTRY_DELETE) {
memset(ipset, 0, sizeof(struct zebra_pbr_ipset));
@@ -2171,18 +2169,16 @@ bool dplane_ctx_get_pbr_ipset(const struct zebra_dplane_ctx *ctx,
ZEBRA_IPSET_NAME_SIZE);
} else
memcpy(ipset, &ctx->u.ipset, sizeof(struct zebra_pbr_ipset));
- return true;
}
-bool dplane_ctx_get_pbr_ipset_entry(const struct zebra_dplane_ctx *ctx,
+void dplane_ctx_get_pbr_ipset_entry(const struct zebra_dplane_ctx *ctx,
struct zebra_pbr_ipset_entry *entry)
{
DPLANE_CTX_VALID(ctx);
- if (!entry)
- return false;
+ assert(entry);
+
memcpy(entry, &ctx->u.ipset_entry.entry, sizeof(struct zebra_pbr_ipset_entry));
- return true;
}
/*
@@ -3573,9 +3569,9 @@ dplane_br_port_update(const struct interface *ifp, bool non_df,
ctx->zd_op = op;
ctx->zd_status = ZEBRA_DPLANE_REQUEST_SUCCESS;
- ctx->zd_vrf_id = ifp->vrf_id;
+ ctx->zd_vrf_id = ifp->vrf->vrf_id;
- zns = zebra_ns_lookup(ifp->vrf_id);
+ zns = zebra_ns_lookup(ifp->vrf->vrf_id);
dplane_ctx_ns_init(ctx, zns, false);
ctx->zd_ifindex = ifp->ifindex;
@@ -3650,16 +3646,16 @@ static enum zebra_dplane_result intf_addr_update_internal(
if (IS_ZEBRA_DEBUG_DPLANE_DETAIL)
zlog_debug("init intf ctx %s: idx %d, addr %u:%pFX",
- dplane_op2str(op), ifp->ifindex, ifp->vrf_id,
+ dplane_op2str(op), ifp->ifindex, ifp->vrf->vrf_id,
ifc->address);
ctx = dplane_ctx_alloc();
ctx->zd_op = op;
ctx->zd_status = ZEBRA_DPLANE_REQUEST_SUCCESS;
- ctx->zd_vrf_id = ifp->vrf_id;
+ ctx->zd_vrf_id = ifp->vrf->vrf_id;
- zns = zebra_ns_lookup(ifp->vrf_id);
+ zns = zebra_ns_lookup(ifp->vrf->vrf_id);
dplane_ctx_ns_init(ctx, zns, false);
/* Init the interface-addr-specific area */
@@ -3857,9 +3853,9 @@ void dplane_mac_init(struct zebra_dplane_ctx *ctx,
struct zebra_ns *zns;
ctx->zd_status = ZEBRA_DPLANE_REQUEST_SUCCESS;
- ctx->zd_vrf_id = ifp->vrf_id;
+ ctx->zd_vrf_id = ifp->vrf->vrf_id;
- zns = zebra_ns_lookup(ifp->vrf_id);
+ zns = zebra_ns_lookup(ifp->vrf->vrf_id);
dplane_ctx_ns_init(ctx, zns, false);
strlcpy(ctx->zd_ifname, ifp->name, sizeof(ctx->zd_ifname));
@@ -4082,9 +4078,9 @@ enum zebra_dplane_result dplane_neigh_table_update(const struct interface *ifp,
ctx->zd_op = op;
ctx->zd_status = ZEBRA_DPLANE_REQUEST_SUCCESS;
- ctx->zd_vrf_id = ifp->vrf_id;
+ ctx->zd_vrf_id = ifp->vrf->vrf_id;
- zns = zebra_ns_lookup(ifp->vrf_id);
+ zns = zebra_ns_lookup(ifp->vrf->vrf_id);
dplane_ctx_ns_init(ctx, zns, false);
strlcpy(ctx->zd_ifname, ifp->name, sizeof(ctx->zd_ifname));
@@ -4156,10 +4152,10 @@ neigh_update_internal(enum dplane_op_e op, const struct interface *ifp,
ctx->zd_op = op;
ctx->zd_status = ZEBRA_DPLANE_REQUEST_SUCCESS;
- ctx->zd_vrf_id = ifp->vrf_id;
+ ctx->zd_vrf_id = ifp->vrf->vrf_id;
dplane_ctx_set_type(ctx, protocol);
- zns = zebra_ns_lookup(ifp->vrf_id);
+ zns = zebra_ns_lookup(ifp->vrf->vrf_id);
dplane_ctx_ns_init(ctx, zns, false);
strlcpy(ctx->zd_ifname, ifp->name, sizeof(ctx->zd_ifname));
@@ -4407,13 +4403,13 @@ dplane_gre_set(struct interface *ifp, struct interface *ifp_link,
ctx->zd_op = op;
ctx->zd_status = ZEBRA_DPLANE_REQUEST_SUCCESS;
- zns = zebra_ns_lookup(ifp->vrf_id);
+ zns = zebra_ns_lookup(ifp->vrf->vrf_id);
if (!zns)
return result;
dplane_ctx_ns_init(ctx, zns, false);
dplane_ctx_set_ifname(ctx, ifp->name);
- ctx->zd_vrf_id = ifp->vrf_id;
+ ctx->zd_vrf_id = ifp->vrf->vrf_id;
ctx->zd_ifindex = ifp->ifindex;
if (ifp_link)
ctx->u.gre.link_ifindex = ifp_link->ifindex;
@@ -5060,29 +5056,30 @@ static void kernel_dplane_log_detail(struct zebra_dplane_ctx *ctx)
case DPLANE_OP_IPTABLE_DELETE: {
struct zebra_pbr_iptable ipt;
- if (dplane_ctx_get_pbr_iptable(ctx, &ipt))
- zlog_debug("Dplane iptable update op %s, unique(%u), ctx %p",
- dplane_op2str(dplane_ctx_get_op(ctx)), ipt.unique, ctx);
+ dplane_ctx_get_pbr_iptable(ctx, &ipt);
+ zlog_debug("Dplane iptable update op %s, unique(%u), ctx %p",
+ dplane_op2str(dplane_ctx_get_op(ctx)), ipt.unique,
+ ctx);
} break;
case DPLANE_OP_IPSET_ADD:
case DPLANE_OP_IPSET_DELETE: {
struct zebra_pbr_ipset ipset;
- if (dplane_ctx_get_pbr_ipset(ctx, &ipset))
- zlog_debug("Dplane ipset update op %s, unique(%u), ctx %p",
- dplane_op2str(dplane_ctx_get_op(ctx)),
- ipset.unique, ctx);
+ dplane_ctx_get_pbr_ipset(ctx, &ipset);
+ zlog_debug("Dplane ipset update op %s, unique(%u), ctx %p",
+ dplane_op2str(dplane_ctx_get_op(ctx)), ipset.unique,
+ ctx);
} break;
case DPLANE_OP_IPSET_ENTRY_ADD:
case DPLANE_OP_IPSET_ENTRY_DELETE: {
struct zebra_pbr_ipset_entry ipent;
- if (dplane_ctx_get_pbr_ipset_entry(ctx, &ipent))
- zlog_debug("Dplane ipset entry update op %s, unique(%u), ctx %p",
- dplane_op2str(dplane_ctx_get_op(ctx)),
- ipent.unique, ctx);
+ dplane_ctx_get_pbr_ipset_entry(ctx, &ipent);
+ zlog_debug(
+ "Dplane ipset entry update op %s, unique(%u), ctx %p",
+ dplane_op2str(dplane_ctx_get_op(ctx)), ipent.unique,
+ ctx);
} break;
-
case DPLANE_OP_NEIGH_TABLE_UPDATE:
zlog_debug("Dplane neigh table op %s, ifp %s, family %s",
dplane_op2str(dplane_ctx_get_op(ctx)),