X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip6_packet.h;h=1be2ceae5a108b39db80214185a9a756df645e9b;hb=3d5f08a82;hp=34bc7a8ec1ad56b85ec10371c434f1877be284ce;hpb=041add7d12217494934b651e4e38b5eab5216ddc;p=vpp.git diff --git a/src/vnet/ip/ip6_packet.h b/src/vnet/ip/ip6_packet.h index 34bc7a8ec1a..1be2ceae5a1 100644 --- a/src/vnet/ip/ip6_packet.h +++ b/src/vnet/ip/ip6_packet.h @@ -313,6 +313,7 @@ typedef struct #define IP6_PACKET_TC_MASK 0x0FF00000 #define IP6_PACKET_DSCP_MASK 0x0FC00000 #define IP6_PACKET_ECN_MASK 0x00300000 +#define IP6_PACKET_FL_MASK 0x000FFFFF always_inline ip_dscp_t ip6_traffic_class (const ip6_header_t * i) @@ -342,6 +343,13 @@ ip6_ecn_network_order (const ip6_header_t * ip6) & IP6_PACKET_ECN_MASK) >> 20; } +static_always_inline u32 +ip6_flow_label_network_order (const ip6_header_t *ip6) +{ + return (clib_net_to_host_u32 (ip6->ip_version_traffic_class_and_flow_label) & + IP6_PACKET_FL_MASK); +} + static_always_inline void ip6_set_traffic_class_network_order (ip6_header_t * ip6, ip_dscp_t dscp) {