From c809035cc46ad8953f2042b53c19a6ea3de367f8 Mon Sep 17 00:00:00 2001 From: Carmine Scarpitta Date: Mon, 3 Feb 2025 12:56:02 +0100 Subject: [PATCH] staticd: Fix wrong xpath in `no sid X:X::X:X/M` MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- staticd/static_vty.c | 4 ++-- 1 file 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); -- 2.39.5