From 46b0382056881b346624d340d8d835de742f18fd Mon Sep 17 00:00:00 2001 From: Stephen Worley Date: Mon, 25 Nov 2019 15:16:35 -0500 Subject: [PATCH] pbrd: don't silently fail on atomic match MARK change attempts Also don't silently fail when we attempt to atomically change a match MARK to a new one. We would overwrite the frist one but never actually install it. Change it to explicitly fail if a config is already present for now. Signed-off-by: Stephen Worley --- pbrd/pbr_vty.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pbrd/pbr_vty.c b/pbrd/pbr_vty.c index 5bc94a2b33..24d3c0fd13 100644 --- a/pbrd/pbr_vty.c +++ b/pbrd/pbr_vty.c @@ -189,9 +189,14 @@ DEFPY(pbr_map_match_mark, pbr_map_match_mark_cmd, #endif if (!no) { - if (pbrms->mark == (uint32_t) mark) + if (pbrms->mark && pbrms->mark == (uint32_t)mark) return CMD_SUCCESS; - pbrms->mark = (uint32_t) mark; + else if (pbrms->mark) { + vty_out(vty, + "A `match mark XX` command already exists, please remove that first\n"); + return CMD_WARNING_CONFIG_FAILED; + } else + pbrms->mark = (uint32_t)mark; } else { pbrms->mark = 0; } -- 2.39.5