From 5e83375e55ea5d447ea78cf2c87a00964305a628 Mon Sep 17 00:00:00 2001 From: Chirag Shah Date: Thu, 16 Mar 2023 21:47:07 -0700 Subject: [PATCH] pbrd:fix mismatching in match src-dst upstream commit 67765a232d has incorect address family check which prevent from deleting src/dst config under pbr rule. Ticket:#3405024 Issue:3405024 Testing Done: Config: pbr-map map6 seq 1 match src-ip 2000::200:100:100:0/96 match dst-ip 2000::100:100:100:0/96 set nexthop-group group3 Before: torc-12(config)# pbr-map map6 seq 1 torc-12(config-pbr-map)# no match src-ip 2000::200:100:100:0/96 Cannot mismatch families within match src/dst After: torc-12(config)# pbr-map map6 seq 1 torc-12(config-pbr-map)# no match src-ip 2000::200:100:100:0/96 torc-12(config-pbr-map)# Signed-off-by: Chirag Shah (cherry picked from commit 03494887eddaa255d9b6a217bfff60cc63cede42) --- pbrd/pbr_vty.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pbrd/pbr_vty.c b/pbrd/pbr_vty.c index dcb251beba..60e215e731 100644 --- a/pbrd/pbr_vty.c +++ b/pbrd/pbr_vty.c @@ -140,7 +140,7 @@ DEFPY(pbr_map_match_src, pbr_map_match_src_cmd, if (!pbrms) return CMD_WARNING_CONFIG_FAILED; - if (pbrms->dst && pbrms->family && prefix->family != pbrms->family) { + if (pbrms->dst && prefix->family != pbrms->dst->family) { vty_out(vty, "Cannot mismatch families within match src/dst\n"); return CMD_WARNING_CONFIG_FAILED; } @@ -176,7 +176,7 @@ DEFPY(pbr_map_match_dst, pbr_map_match_dst_cmd, if (!pbrms) return CMD_WARNING_CONFIG_FAILED; - if (pbrms->src && pbrms->family && prefix->family != pbrms->family) { + if (pbrms->src && prefix->family != pbrms->src->family) { vty_out(vty, "Cannot mismatch families within match src/dst\n"); return CMD_WARNING_CONFIG_FAILED; } -- 2.39.5