diff options
Diffstat (limited to 'lib/srv6.h')
| -rw-r--r-- | lib/srv6.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/lib/srv6.h b/lib/srv6.h index 011705504e..467f02a3c9 100644 --- a/lib/srv6.h +++ b/lib/srv6.h @@ -176,12 +176,20 @@ struct srv6_locator_chunk { enum srv6_endpoint_behavior_codepoint { SRV6_ENDPOINT_BEHAVIOR_RESERVED = 0x0000, SRV6_ENDPOINT_BEHAVIOR_END = 0x0001, + SRV6_ENDPOINT_BEHAVIOR_END_PSP = 0x0002, SRV6_ENDPOINT_BEHAVIOR_END_X = 0x0005, + SRV6_ENDPOINT_BEHAVIOR_END_X_PSP = 0x0006, SRV6_ENDPOINT_BEHAVIOR_END_DT6 = 0x0012, SRV6_ENDPOINT_BEHAVIOR_END_DT4 = 0x0013, SRV6_ENDPOINT_BEHAVIOR_END_DT46 = 0x0014, + SRV6_ENDPOINT_BEHAVIOR_END_PSP_USD = 0x001D, + SRV6_ENDPOINT_BEHAVIOR_END_X_PSP_USD = 0x0021, SRV6_ENDPOINT_BEHAVIOR_END_NEXT_CSID = 0x002B, - SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID = 0x002C, + SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID = 0x0034, + SRV6_ENDPOINT_BEHAVIOR_END_NEXT_CSID_PSP = 0x002C, + SRV6_ENDPOINT_BEHAVIOR_END_NEXT_CSID_PSP_USD = 0x0030, + SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID_PSP = 0x0035, + SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID_PSP_USD = 0x0039, SRV6_ENDPOINT_BEHAVIOR_END_DT6_USID = 0x003E, SRV6_ENDPOINT_BEHAVIOR_END_DT4_USID = 0x003F, SRV6_ENDPOINT_BEHAVIOR_END_DT46_USID = 0x0040, @@ -199,8 +207,16 @@ srv6_endpoint_behavior_codepoint2str(enum srv6_endpoint_behavior_codepoint behav return "Reserved"; case SRV6_ENDPOINT_BEHAVIOR_END: return "End"; + case SRV6_ENDPOINT_BEHAVIOR_END_PSP: + return "End PSP"; + case SRV6_ENDPOINT_BEHAVIOR_END_PSP_USD: + return "End PSP/USD"; case SRV6_ENDPOINT_BEHAVIOR_END_X: return "End.X"; + case SRV6_ENDPOINT_BEHAVIOR_END_X_PSP: + return "End.X PSP"; + case SRV6_ENDPOINT_BEHAVIOR_END_X_PSP_USD: + return "End.X PSP/USD"; case SRV6_ENDPOINT_BEHAVIOR_END_DT6: return "End.DT6"; case SRV6_ENDPOINT_BEHAVIOR_END_DT4: @@ -209,8 +225,16 @@ srv6_endpoint_behavior_codepoint2str(enum srv6_endpoint_behavior_codepoint behav return "End.DT46"; case SRV6_ENDPOINT_BEHAVIOR_END_NEXT_CSID: return "uN"; + case SRV6_ENDPOINT_BEHAVIOR_END_NEXT_CSID_PSP: + return "uN PSP"; + case SRV6_ENDPOINT_BEHAVIOR_END_NEXT_CSID_PSP_USD: + return "uN PSP/USD"; case SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID: return "uA"; + case SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID_PSP: + return "uA PSP"; + case SRV6_ENDPOINT_BEHAVIOR_END_X_NEXT_CSID_PSP_USD: + return "uA PSP/USD"; case SRV6_ENDPOINT_BEHAVIOR_END_DT6_USID: return "uDT6"; case SRV6_ENDPOINT_BEHAVIOR_END_DT4_USID: @@ -297,6 +321,7 @@ struct srv6_sid_ctx { struct in_addr nh4; struct in6_addr nh6; vrf_id_t vrf_id; + ifindex_t ifindex; }; static inline const char *seg6_mode2str(enum seg6_mode_t mode) |
