Skip to content

Commit

Permalink
lib: Add new enum for seg6local flavor operations
Browse files Browse the repository at this point in the history
The RFC 8986 defines the SRv6 Network Programming concept and specifies
the base set of SRv6 behaviors that enables the creation of
interoperable overlays with underlay optimization. In addition, the RFC
8986 introduces the concept of "flavors", additional operations that can
modify or extend the existing SRv6 behaviors.

This commit adds a new enum type `seg6local_flavor_op` to represent the
SRv6 flavors operations. Currently we define the following flavor
operations:
- PSP (defined in RFC 8986 section #4.16.1)
- USP (defined in RFC 8986 section #4.16.2)
- USD (defined in RFC 8986 section #4.16.3)
- NEXT-C-SID (defined in draft-ietf-spring-srv6-srh-compression-03 #4.1)

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
  • Loading branch information
cscarpitta committed Sep 11, 2023
1 parent 7c27ab7 commit bf386ac
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions lib/srv6.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,20 @@ enum seg6local_action_t {
ZEBRA_SEG6_LOCAL_ACTION_END_DT46 = 16,
};

/* Flavor operations for SRv6 End* Behaviors */
enum seg6local_flavor_op {
ZEBRA_SEG6_LOCAL_FLV_OP_UNSPEC = 0,
/* PSP Flavor as per RFC 8986 section #4.16.1 */
ZEBRA_SEG6_LOCAL_FLV_OP_PSP = 1,
/* USP Flavor as per RFC 8986 section #4.16.2 */
ZEBRA_SEG6_LOCAL_FLV_OP_USP = 2,
/* USD Flavor as per RFC 8986 section #4.16.3 */
ZEBRA_SEG6_LOCAL_FLV_OP_USD = 3,
/* NEXT-C-SID Flavor as per draft-ietf-spring-srv6-srh-compression-03
section 4.1 */
ZEBRA_SEG6_LOCAL_FLV_OP_NEXT_CSID = 4,
};

struct seg6_segs {
size_t num_segs;
struct in6_addr segs[256];
Expand Down

0 comments on commit bf386ac

Please sign in to comment.