diff options
Diffstat (limited to 'ip6.h')
-rw-r--r-- | ip6.h | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -174,6 +174,7 @@ struct ip6_rthdr { #define IPV6_RTHDR_TYPE_0 0 #define IPV6_RTHDR_TYPE_2 2 +#define IPV6_RTHDR_TYPE_4 4 /* Type 0 Routing header */ /* Also used for Type 2 */ @@ -186,6 +187,21 @@ struct ip6_rthdr0 { struct in6_addr ip6r0_addr[1]; /* up to 23 addresses */ }; +/** + * Type 4 Routing header + * known as Segment Routing Header 'SRH' + */ +struct ip6_srh { + nd_uint8_t srh_nxt; /* next header */ + nd_uint8_t srh_len; /* length in units of 8 octets */ + nd_uint8_t srh_type; /* Routing Type 4 */ + nd_uint8_t srh_segleft; /* segments left */ + nd_uint8_t srh_last_ent; /* Last Entry*/ + nd_uint8_t srh_flags; /* Flags */ + nd_uint16_t srh_tag; /* Tag */ + struct in6_addr srh_segments[1]; /* SRH segments list*/ +}; + /* Fragment header */ struct ip6_frag { nd_uint8_t ip6f_nxt; /* next header */ |