]> git.puffer.fish Git - matthieu/frr.git/commit
isisd: Add support for SRv6 Adjacency SIDs
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Sat, 3 Jun 2023 00:08:08 +0000 (02:08 +0200)
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Mon, 11 Sep 2023 20:11:47 +0000 (22:11 +0200)
commitecb2675f1ef4819f3e6f9e729ad0f6e2a59da898
tree01e55cb00f70de803431691373d7e895ae5e0851
parent7db1a9047553ab11a10c15350d0fa8f1688476ec
isisd: Add support for SRv6 Adjacency SIDs

An SRv6 adjacency SID is a SID that is associated with a particular
adjacency. Adjacency SIDs are advertised using the SRv6 End.X SID
Sub-TLV (RFC 9352 section #8.1) or SRv6 LAN End.X SID Sub-TLV (RFC 9352
section #8.2).

This commit defines the following Adj SIDs management functions:
* srv6_endx_sid_add_single: add a new SRv6 Adjacency SID
* srv6_endx_sid_del: delete an SRv6 Adjacency SID
* isis_srv6_endx_sid_find: lookup SRv6 End.X SID by type

It also attaches some callbacks to the hooks isis_adj_state_change_hook,
isis_adj_ip_enabled_hook, isis_adj_ip_disabled_hook, which are
responsible for installing/removing an SRv6 Adjacency SID automatically
when the state of an IS-IS adjacency changes.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
isisd/isis_adjacency.h
isisd/isis_srv6.c
isisd/isis_srv6.h
isisd/isis_tlvs.c
isisd/isis_tlvs.h
isisd/isis_zebra.c