summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/zapi_msg.c3
-rw-r--r--zebra/zebra_dplane.c13
-rw-r--r--zebra/zebra_dplane.h5
-rw-r--r--zebra/zebra_pbr.c13
4 files changed, 15 insertions, 19 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index 7cf248d08c..5bacf1f40a 100644
--- a/zebra/zapi_msg.c
+++ b/zebra/zapi_msg.c
@@ -871,8 +871,7 @@ void zsend_iptable_notify_owner(const struct zebra_dplane_ctx *ctx,
struct zebra_pbr_iptable ipt;
uint16_t cmd = ZEBRA_IPTABLE_NOTIFY_OWNER;
- if (!dplane_ctx_get_pbr_iptable(ctx, &ipt))
- return;
+ dplane_ctx_get_pbr_iptable(ctx, &ipt);
if (IS_ZEBRA_DEBUG_PACKET)
zlog_debug("%s: Notifying %s id %u note %u", __func__,
diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c
index 9c17ab6892..d02d0178cc 100644
--- a/zebra/zebra_dplane.c
+++ b/zebra/zebra_dplane.c
@@ -2145,14 +2145,12 @@ 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;
}
void dplane_ctx_get_pbr_ipset(const struct zebra_dplane_ctx *ctx,
@@ -5059,9 +5057,10 @@ 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: {
diff --git a/zebra/zebra_dplane.h b/zebra/zebra_dplane.h
index d3a232c9da..ea408116ee 100644
--- a/zebra/zebra_dplane.h
+++ b/zebra/zebra_dplane.h
@@ -526,9 +526,8 @@ const struct prefix *
dplane_ctx_rule_get_old_dst_ip(const struct zebra_dplane_ctx *ctx);
/* Accessors for policy based routing iptable information */
struct zebra_pbr_iptable;
-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);
struct zebra_pbr_ipset;
void dplane_ctx_get_pbr_ipset(const struct zebra_dplane_ctx *ctx,
struct zebra_pbr_ipset *ipset);
diff --git a/zebra/zebra_pbr.c b/zebra/zebra_pbr.c
index b0d274e7c1..8b98cdc688 100644
--- a/zebra/zebra_pbr.c
+++ b/zebra/zebra_pbr.c
@@ -552,13 +552,12 @@ void zebra_pbr_process_iptable(struct zebra_dplane_ctx *ctx)
else
mode = 0;
- if (dplane_ctx_get_pbr_iptable(ctx, &ipt)) {
- ret = hook_call(zebra_pbr_iptable_update, mode, &ipt);
- if (ret)
- dplane_ctx_set_status(ctx,
- ZEBRA_DPLANE_REQUEST_SUCCESS);
- }
- if (!ret)
+ dplane_ctx_get_pbr_iptable(ctx, &ipt);
+
+ ret = hook_call(zebra_pbr_iptable_update, mode, &ipt);
+ if (ret)
+ dplane_ctx_set_status(ctx, ZEBRA_DPLANE_REQUEST_SUCCESS);
+ else
dplane_ctx_set_status(ctx, ZEBRA_DPLANE_REQUEST_FAILURE);
}