forked from Mirror/frr
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>
This commit is contained in:
parent
4f43a33d42
commit
c809035cc4
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue