diff options
author | Neale Ranns <nranns@cisco.com> | 2019-07-31 02:48:02 -0700 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2019-07-31 16:17:36 +0000 |
commit | 83832e7ced8be8b7de394415feaba70c32e3c38d (patch) | |
tree | b9269e9f5cff694fa39cc26b5c25cb81828e1435 /src/vnet/qos/qos.api | |
parent | b504777e7f1c9728e65b874284b4dfd39359c8a8 (diff) |
qos: Store function
Type: feature
store: write a QoS value into the buffer meta-data
record: Extract a QoS value from a packet header and store it.
mark: Make a change to the content of a packet header by writing a stored
QoS value
Change-Id: I07d1e87dd1ca90d40ac1ae1774fee1b272cab83f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/qos/qos.api')
-rw-r--r-- | src/vnet/qos/qos.api | 68 |
1 files changed, 62 insertions, 6 deletions
diff --git a/src/vnet/qos/qos.api b/src/vnet/qos/qos.api index 11c91638c5b..dcd9ce5d011 100644 --- a/src/vnet/qos/qos.api +++ b/src/vnet/qos/qos.api @@ -14,13 +14,20 @@ * limitations under the License. */ -/** \file - - This file defines QoS record and mark API messages which are generally - called through a shared memory interface. -*/ +/** + * @file + * This file defines QoS record, store and mark API messages which are generally + * called through a shared memory interface. + * + * Definitions of verbs: + * store: write a QoS value into the buffer meta-data + * record: Extract a QoS value from a packet header and store it. + * mark: Make a change to the content of a packet header by writing a stored + * QoS value + */ +option version = "1.1.0"; -option version = "1.0.0"; +import "vnet/ip/ip_types.api"; enum qos_source : u8 { @@ -31,6 +38,55 @@ enum qos_source : u8 }; /** + * QoS store. + * @param sw_if_index - The interface on which store is enabled. + * @param input_source - The input source/layer at which the QoS bits are stored + * See qos_source_t. This determines what packets have a + * value stored. i.e. If IP is seleted this affects on IP + * packets. + * @param value - The value to store. + */ +typedef qos_store +{ + u32 sw_if_index; + vl_api_qos_source_t input_source; + u8 value; +}; + +/** + * Enable/Disable QoS storing + * The QoS bits from the packet at the specified input layer are copied + * into the packet. Storeing should be used in conjunction with marking + * @param enable - enable=1 or disable the feature + * @param store - Store configuration + */ +autoreply define qos_store_enable_disable +{ + u32 client_index; + u32 context; + u8 enable; + vl_api_qos_store_t store; +}; + +/** + * Dump the QoS store configs + */ +define qos_store_dump +{ + u32 client_index; + u32 context; +}; + +/** + * Details of QoS recording configs + */ +define qos_store_details +{ + u32 context; + vl_api_qos_store_t store; +}; + +/** * QoS recording. * @param sw_if_index - The interface on which recording is enabled. * @param input_source - The input source/layer at which the QoS bits |