mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-02 23:52:18 +00:00
isisd: Add function to fill in an SRv6 Locator TLV
Add a function to fill in an SRv6 Locator TLV with information from an SRv6 locator (RFC 9352 section #7.1). Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
This commit is contained in:
parent
791ca51ecf
commit
6cd23c6d95
@ -20,6 +20,28 @@
|
||||
/* Local variables and functions */
|
||||
DEFINE_MTYPE_STATIC(ISISD, ISIS_SRV6_SID, "ISIS SRv6 Segment ID");
|
||||
|
||||
/**
|
||||
* Fill in SRv6 Locator TLV with information from an SRv6 locator.
|
||||
*
|
||||
* @param loc SRv6 Locator configuration
|
||||
* @param loc_tlv SRv6 Locator TLV to be updated
|
||||
*/
|
||||
void isis_srv6_locator2tlv(const struct isis_srv6_locator *loc,
|
||||
struct isis_srv6_locator_tlv *loc_tlv)
|
||||
{
|
||||
/* Set SRv6 Locator metric */
|
||||
loc_tlv->metric = loc->metric;
|
||||
|
||||
/* Set SRv6 Locator flags */
|
||||
loc_tlv->flags = loc->flags;
|
||||
|
||||
/* Set SRv6 Locator algorithm */
|
||||
loc_tlv->algorithm = loc->algorithm;
|
||||
|
||||
/* Set SRv6 Locator prefix */
|
||||
loc_tlv->prefix = loc->prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unset the SRv6 locator for a given IS-IS area.
|
||||
*
|
||||
|
@ -12,6 +12,8 @@
|
||||
|
||||
#include "lib/srv6.h"
|
||||
|
||||
#include "isisd/isis_tlvs.h"
|
||||
|
||||
/* Maximum SRv6 SID Depths supported by the router */
|
||||
#define SRV6_MAX_SEG_LEFT 3
|
||||
#define SRV6_MAX_END_POP 3
|
||||
@ -112,4 +114,7 @@ extern void isis_srv6_area_term(struct isis_area *area);
|
||||
void isis_srv6_init(void);
|
||||
void isis_srv6_term(void);
|
||||
|
||||
void isis_srv6_locator2tlv(const struct isis_srv6_locator *loc,
|
||||
struct isis_srv6_locator_tlv *loc_tlv);
|
||||
|
||||
#endif /* _FRR_ISIS_SRV6_H */
|
||||
|
Loading…
Reference in New Issue
Block a user