]> git.puffer.fish Git - matthieu/frr.git/commitdiff
staticd: Extend `static_zebra_srv6_sid_uninstall` to uninstall SRv6 uA SIDs
authorCarmine Scarpitta <cscarpit@cisco.com>
Thu, 13 Feb 2025 10:03:18 +0000 (11:03 +0100)
committerCarmine Scarpitta <cscarpit@cisco.com>
Wed, 26 Feb 2025 06:19:52 +0000 (07:19 +0100)
This commit extends the `static_zebra_srv6_sid_uninstall` function to
allow staticd to remove SRv6 uA SIDs from the zebra RIB.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
staticd/static_zebra.c

index 83d123e6555cf604d1db17c850a493ff91292da5..9a5e0efc4dc20a27bed88b6ac32961de55a8bcfa 100644 (file)
@@ -842,12 +842,20 @@ void static_zebra_srv6_sid_uninstall(struct static_srv6_sid *sid)
                        return;
                }
                break;
+       case SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID:
+               ctx.nh6 = sid->attributes.nh6;
+               ifp = if_lookup_by_name(sid->attributes.ifname, VRF_DEFAULT);
+               if (!ifp) {
+                       zlog_warn("Failed to install SID %pFX: failed to get interface %s",
+                                 &sid->addr, sid->attributes.ifname);
+                       return;
+               }
+               break;
        case SRV6_ENDPOINT_BEHAVIOR_END_PSP_USD:
        case SRV6_ENDPOINT_BEHAVIOR_END_NEXT_CSID_PSP_USD:
        case SRV6_ENDPOINT_BEHAVIOR_END_X:
        case SRV6_ENDPOINT_BEHAVIOR_END_X_PSP:
        case SRV6_ENDPOINT_BEHAVIOR_END_X_PSP_USD:
-       case SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID:
        case SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID_PSP:
        case SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID_PSP_USD:
        case SRV6_ENDPOINT_BEHAVIOR_OPAQUE: