diff options
| author | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-06-03 13:39:15 +0200 |
|---|---|---|
| committer | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-09-11 22:11:48 +0200 |
| commit | 455aded931005980b5db55ecbc1371a6c5efd813 (patch) | |
| tree | 62f99d166fdb8d929c0209360d1faebe2e78a8db /isisd/isis_srv6.c | |
| parent | ee57c710b1067f4f25f51381143dc003b81c1f3d (diff) | |
isisd: Extend `sid_exist` to consider adj SIDs
The function `sid_exist` verifies if a given SRv6 SID has already been
allocated for a given IS-IS area. This commit extends `sid_exist` to
also consider adjacency SIDs when checking for the existence of the SID.
Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to 'isisd/isis_srv6.c')
| -rw-r--r-- | isisd/isis_srv6.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/isisd/isis_srv6.c b/isisd/isis_srv6.c index d1983693d8..5c04f53f56 100644 --- a/isisd/isis_srv6.c +++ b/isisd/isis_srv6.c @@ -180,10 +180,14 @@ static bool sid_exist(struct isis_area *area, const struct in6_addr *sid) { struct listnode *node; struct isis_srv6_sid *s; + struct srv6_adjacency *sra; for (ALL_LIST_ELEMENTS_RO(area->srv6db.srv6_sids, node, s)) if (sid_same(&s->sid, sid)) return true; + for (ALL_LIST_ELEMENTS_RO(area->srv6db.srv6_endx_sids, node, sra)) + if (sid_same(&sra->sid, sid)) + return true; return false; } |
