diff options
| author | Carmine Scarpitta <cscarpit@cisco.com> | 2025-02-03 12:56:02 +0100 |
|---|---|---|
| committer | Carmine Scarpitta <cscarpit@cisco.com> | 2025-02-03 22:33:00 +0100 |
| commit | c809035cc46ad8953f2042b53c19a6ea3de367f8 (patch) | |
| tree | 3fcd40af0c7b88ab0f5f47b7d9f1c34325c65fc5 | |
| parent | 4f43a33d421973d8229561bae7872770ea254e58 (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.c | 4 |
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); |
