summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarmine Scarpitta <cscarpit@cisco.com>2025-02-03 12:56:02 +0100
committerCarmine Scarpitta <cscarpit@cisco.com>2025-02-03 22:33:00 +0100
commitc809035cc46ad8953f2042b53c19a6ea3de367f8 (patch)
tree3fcd40af0c7b88ab0f5f47b7d9f1c34325c65fc5
parent4f43a33d421973d8229561bae7872770ea254e58 (diff)
staticd: Fix wrong xpath in `no sid X:X::X:X/M`
When a user wants to delete a specific SRv6 SID, he executes the `no sid X:X::X:X/M` command. However, by mistake, in addition to deleting the SID requested by the user, this command also removes all other SIDs. This happens because `no sid X:X::X:X/M` triggers a destroy operation on the wrong xpath `frr-staticd:staticd/segment-routing/srv6`. This commit fixes the issue by replacing the wrong xpath `frr-staticd:staticd/segment-routing/srv6` with the correct xpath `frr-staticd:staticd/segment-routing/srv6/static-sids/sid[sid='%s']`. This ensures that the `no sid X:X::X:X/M` command only deletes the SID that was requested by the user. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
-rw-r--r--staticd/static_vty.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/staticd/static_vty.c b/staticd/static_vty.c
index ed2805d3ea..f93e81e8dc 100644
--- a/staticd/static_vty.c
+++ b/staticd/static_vty.c
@@ -1273,8 +1273,8 @@ DEFPY_YANG(no_srv6_sid, no_srv6_sid_cmd,
{
char xpath[XPATH_MAXLEN + 37];
- snprintf(xpath, sizeof(xpath), FRR_STATIC_SRV6_INFO_KEY_XPATH, "frr-staticd:staticd",
- "staticd", VRF_DEFAULT_NAME);
+ snprintf(xpath, sizeof(xpath), FRR_STATIC_SRV6_SID_KEY_XPATH, "frr-staticd:staticd",
+ "staticd", VRF_DEFAULT_NAME, sid_str);
nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);