This commit is contained in:
Carmine Scarpitta 2025-04-29 16:22:43 +00:00 committed by GitHub
commit 2aae195b19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 18 additions and 0 deletions

View file

@ -153,6 +153,15 @@ void delete_static_srv6_sid(void *val)
static_srv6_sid_free((struct static_srv6_sid *)val);
}
void static_zebra_request_srv6_sids(void)
{
struct static_srv6_sid *sid;
struct listnode *node;
for (ALL_LIST_ELEMENTS_RO(srv6_sids, node, sid))
static_zebra_request_srv6_sid(sid);
}
/*
* Initialize SRv6 data structures.
*/

View file

@ -101,6 +101,8 @@ struct static_srv6_locator *static_srv6_locator_lookup(const char *name);
void delete_static_srv6_sid(void *val);
void delete_static_srv6_locator(void *val);
void static_zebra_request_srv6_sids(void);
#ifdef __cplusplus
}
#endif

View file

@ -187,6 +187,8 @@ static void zebra_connected(struct zclient *zclient)
* in.
*/
static_install_nexthops_on_startup();
static_zebra_request_srv6_sids();
}
/* API to check whether the configured nexthop address is
@ -940,6 +942,11 @@ extern void static_zebra_request_srv6_sid(struct static_srv6_sid *sid)
if (!sid || !static_zebra_sid_locator_block_check(sid))
return;
if (!sid->locator) {
static_zebra_srv6_manager_get_locator(sid->locator_name);
return;
}
/* convert `srv6_endpoint_behavior_codepoint` to `seg6local_action_t` */
switch (sid->behavior) {
case SRV6_ENDPOINT_BEHAVIOR_END: