mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 17:40:04 +00:00
isisd: Add SRv6 SID data structure
Add `struct isis_srv6_sid` data structure to represent an SRv6 SID. The struct has the following members: * next: pointer to the next SID, used to build linked lists of SRv6 SIDs * flags: SID flags * behavior: the behavior bound to the SRv6 SID (as defined in RFC 8986) * value: the SID value (i.e., an IPv6 address) * locator: a backpointer to the parent locator from which the SID has been allocated. Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
This commit is contained in:
parent
70fba45daf
commit
e047b39dc1
@ -10,12 +10,34 @@
|
||||
#ifndef _FRR_ISIS_SRV6_H
|
||||
#define _FRR_ISIS_SRV6_H
|
||||
|
||||
#include "lib/srv6.h"
|
||||
|
||||
/* Maximum SRv6 SID Depths supported by the router */
|
||||
#define SRV6_MAX_SEG_LEFT 3
|
||||
#define SRV6_MAX_END_POP 3
|
||||
#define SRV6_MAX_H_ENCAPS 2
|
||||
#define SRV6_MAX_END_D 5
|
||||
|
||||
/* SRv6 SID not bound to any adjacency */
|
||||
struct isis_srv6_sid {
|
||||
struct isis_srv6_sid *next;
|
||||
|
||||
/* SID flags */
|
||||
uint8_t flags;
|
||||
|
||||
/* SID value */
|
||||
struct in6_addr sid;
|
||||
|
||||
/* Endpoint behavior bound to the SID */
|
||||
enum srv6_endpoint_behavior_codepoint behavior;
|
||||
|
||||
/* Parent SRv6 locator */
|
||||
struct srv6_locator_chunk *locator;
|
||||
|
||||
/* Backpointer to IS-IS area */
|
||||
struct isis_area *area;
|
||||
};
|
||||
|
||||
/* Per-area IS-IS SRv6 Data Base (SRv6 DB) */
|
||||
struct isis_srv6_db {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user