diff options
author | Neale Ranns <nranns@cisco.com> | 2018-02-27 03:45:38 -0800 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-03-16 20:28:50 +0000 |
commit | 039cbfe254be998f7311bc4638bb262b44efac19 (patch) | |
tree | cc75e6130f3fdbdd1dbfe48669e6c17534240e11 /src/vnet/buffer.h | |
parent | 0d65d11053395bde7bd8c36439e9025e50ea8028 (diff) |
QoS recording and marking
Change-Id: Ie5a50def4ec1e4a3b3404a8b6ab9ec248bc16744
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/buffer.h')
-rw-r--r-- | src/vnet/buffer.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/vnet/buffer.h b/src/vnet/buffer.h index 7a4bc245a30..e785145c0b5 100644 --- a/src/vnet/buffer.h +++ b/src/vnet/buffer.h @@ -63,7 +63,8 @@ _(15, L3_HDR_OFFSET_VALID, 0) \ _(16, L4_HDR_OFFSET_VALID, 0) \ _(17, FLOW_REPORT, "flow-report") \ - _(18, IS_DVR, "dvr") + _(18, IS_DVR, "dvr") \ + _(19, QOS_DATA_VALID, 0) #define VNET_BUFFER_FLAGS_VLAN_BITS \ (VNET_BUFFER_F_VLAN_1_DEEP | VNET_BUFFER_F_VLAN_2_DEEP) @@ -186,6 +187,8 @@ typedef struct u8 ttl; u8 exp; u8 first; + /* Rewrite length */ + u32 save_rewrite_length; /* * BIER - the nubmer of bytes in the header. * the len field inthe header is not authoritative. It's the @@ -362,16 +365,29 @@ STATIC_ASSERT (sizeof (vnet_buffer_opaque_t) <= /* Full cache line (64 bytes) of additional space */ typedef struct { + /** + * QoS marking data that needs to persist from the recording nodes + * (nominally in the ingress path) to the marking node (in the + * egress path) + */ + struct + { + u8 bits; + u8 source; + } qos; + + u8 __unused[2]; + union { -#if VLIB_BUFFER_TRACE_TRAJECTORY > 0 - /* buffer trajectory tracing */ struct { +#if VLIB_BUFFER_TRACE_TRAJECTORY > 0 + /* buffer trajectory tracing */ u16 *trajectory_trace; - }; #endif - u32 unused[12]; + }; + u32 unused[11]; }; } vnet_buffer_opaque2_t; |