|
| 1 | +From d8923603c8aab212e923dccc16de9bb4c22c6846 Mon Sep 17 00:00:00 2001 |
| 2 | +From: Nataliia Solomko <natalirs1985@gmail.com> |
| 3 | +Date: Wed, 24 Jun 2026 16:03:45 +0300 |
| 4 | +Subject: [PATCH] bgpd: fix bmp connect deletion with source-interface |
| 5 | + |
| 6 | +bmp_connect() rejects deletion when source-interface is provided. |
| 7 | +The check compares the configured source-interface with the one |
| 8 | +in the command. It uses !strcmp(), which is true when the strings |
| 9 | +are equal. But this result feeds an if-block that rejects the |
| 10 | +deletion. So the command is rejected exactly when the |
| 11 | +source-interface is correct, and accepted when it is wrong. |
| 12 | +Fix by changing !strcmp() to strcmp(). |
| 13 | +--- |
| 14 | + bgpd/bgp_bmp.c | 2 +- |
| 15 | + 1 file changed, 1 insertion(+), 1 deletion(-) |
| 16 | + |
| 17 | +diff --git a/bgpd/bgp_bmp.c b/bgpd/bgp_bmp.c |
| 18 | +index 40f70f5a7c..f8c3f1c838 100644 |
| 19 | +--- a/bgpd/bgp_bmp.c |
| 20 | ++++ b/bgpd/bgp_bmp.c |
| 21 | +@@ -2996,7 +2996,7 @@ DEFPY(bmp_connect, |
| 22 | + /* connection deletion need same hostname port and interface */ |
| 23 | + if (ba->ifsrc || srcif) |
| 24 | + if ((!ba->ifsrc) || (!srcif) || |
| 25 | +- !strcmp(ba->ifsrc, srcif)) { |
| 26 | ++ strcmp(ba->ifsrc, srcif)) { |
| 27 | + vty_out(vty, |
| 28 | + "%% No such active connection found\n"); |
| 29 | + return CMD_WARNING; |
| 30 | +-- |
| 31 | +2.51.0 |
0 commit comments