diff options
| author | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-02-15 12:00:24 +0100 | 
|---|---|---|
| committer | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2023-09-11 22:11:39 +0200 | 
| commit | 81579d7de29cdb57fc4b37d461b9dc3a0e96597d (patch) | |
| tree | 4686ab13e0a8f90a5061ce893cb5a72bac6ed495 /isisd/isis_tlvs.c | |
| parent | cfc90fc490940752b2e3e2abeeb399942bde1541 (diff) | |
isisd: Add func to build Sub-Sub-TLV from End SID
Add a function to build an SRv6 SID Structure Sub-Sub-TLV (RFC 9352
section #9) to advertise the structure of a specific SRv6 End SID passed
as an argument.
Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to 'isisd/isis_tlvs.c')
| -rw-r--r-- | isisd/isis_tlvs.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/isisd/isis_tlvs.c b/isisd/isis_tlvs.c index 3f56f83367..11a3f67cc1 100644 --- a/isisd/isis_tlvs.c +++ b/isisd/isis_tlvs.c @@ -7732,6 +7732,18 @@ void isis_tlvs_set_purge_originator(struct isis_tlvs *tlvs,  	}  } +/* Set SRv6 SID Structure Sub-Sub-TLV parameters */ +void isis_subsubtlvs_set_srv6_sid_structure(struct isis_subsubtlvs *subsubtlvs, +					    struct isis_srv6_sid *sid) +{ +	assert(!subsubtlvs->srv6_sid_structure); + +	subsubtlvs->srv6_sid_structure = XCALLOC( +		MTYPE_ISIS_SUBSUBTLV, sizeof(*subsubtlvs->srv6_sid_structure)); + +	isis_srv6_sid_structure2subsubtlv(sid, subsubtlvs->srv6_sid_structure); +} +  /* Add an SRv6 End SID to the SRv6 End SID Sub-TLV */  void isis_subtlvs_add_srv6_end_sid(struct isis_subtlvs *subtlvs,  				   struct isis_srv6_sid *sid)  | 
