mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 10:37:29 +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
|
#ifndef _FRR_ISIS_SRV6_H
|
||||||
#define _FRR_ISIS_SRV6_H
|
#define _FRR_ISIS_SRV6_H
|
||||||
|
|
||||||
|
#include "lib/srv6.h"
|
||||||
|
|
||||||
/* Maximum SRv6 SID Depths supported by the router */
|
/* Maximum SRv6 SID Depths supported by the router */
|
||||||
#define SRV6_MAX_SEG_LEFT 3
|
#define SRV6_MAX_SEG_LEFT 3
|
||||||
#define SRV6_MAX_END_POP 3
|
#define SRV6_MAX_END_POP 3
|
||||||
#define SRV6_MAX_H_ENCAPS 2
|
#define SRV6_MAX_H_ENCAPS 2
|
||||||
#define SRV6_MAX_END_D 5
|
#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) */
|
/* Per-area IS-IS SRv6 Data Base (SRv6 DB) */
|
||||||
struct isis_srv6_db {
|
struct isis_srv6_db {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user