X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fbuffer.h;h=7567b8752483920516b8fb88819bb21c665e3896;hb=2096063b0856808326cbd2c1c8a3a786c98ea896;hp=56cb07ae81e12aee1c5793e5bcf260a7ee7f1bce;hpb=2c0a4f407f565d8dd33ff3a9fada346860d30ad2;p=vpp.git diff --git a/src/vnet/buffer.h b/src/vnet/buffer.h index 56cb07ae81e..7567b875248 100644 --- a/src/vnet/buffer.h +++ b/src/vnet/buffer.h @@ -54,7 +54,8 @@ _( 9, IS_IP6) \ _(10, OFFLOAD_IP_CKSUM) \ _(11, OFFLOAD_TCP_CKSUM) \ - _(12, OFFLOAD_UDP_CKSUM) + _(12, OFFLOAD_UDP_CKSUM) \ + _(13, IS_NATED) #define VNET_BUFFER_FLAGS_VLAN_BITS \ (VNET_BUFFER_F_VLAN_1_DEEP | VNET_BUFFER_F_VLAN_2_DEEP) @@ -125,8 +126,14 @@ typedef struct protocol and ports. */ u32 flow_hash; - /* next protocol */ - u32 save_protocol; + union + { + /* next protocol */ + u32 save_protocol; + + /* Hint for transport protocols */ + u32 fib_index; + }; /* Rewrite length */ u32 save_rewrite_length; @@ -173,6 +180,7 @@ typedef struct u8 l2_len; /* ethernet header length */ u8 shg; /* split-horizon group */ u16 l2fib_sn; /* l2fib bd/int seq_num */ + u8 bd_age; /* aging enabled */ } l2; /* l2tpv3 softwire encap, only valid there */ @@ -284,6 +292,12 @@ typedef struct u8 flags; } tcp; + /* SNAT */ + struct + { + u32 flags; + } snat; + u32 unused[6]; }; } vnet_buffer_opaque_t;