aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/interface.h
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2017-04-28 12:29:15 +0200
committerFlorin Coras <florin.coras@gmail.com>2017-05-02 16:34:32 +0000
commit4403690cda44134af3b9ea78d33a5cbf78a5acc9 (patch)
tree14d79f4342d1ec0ee993db2bacdd0eb9abcc2c63 /src/vnet/interface.h
parentc12311b86fb27114cdd3fa4ad9a5897a98448184 (diff)
Add interface rx mode commands, unify rx mode and placement CLI
Change-Id: Ib506c3e9d66170f29e3266ad6dc4d32b829befba Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vnet/interface.h')
-rw-r--r--src/vnet/interface.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/vnet/interface.h b/src/vnet/interface.h
index 9c2230400c6..2344348bf00 100644
--- a/src/vnet/interface.h
+++ b/src/vnet/interface.h
@@ -405,6 +405,9 @@ typedef struct vnet_hw_interface_t
#define VNET_HW_INTERFACE_FLAG_L2OUTPUT_SHIFT 9
#define VNET_HW_INTERFACE_FLAG_L2OUTPUT_MAPPED (1 << 9)
+ /* rx mode flags */
+#define VNET_HW_INTERFACE_FLAG_SUPPORTS_INT_MODE (1 << 10)
+
/* Hardware address as vector. Zero (e.g. zero-length vector) if no
address for this class (e.g. PPP). */
u8 *hw_address;
@@ -470,6 +473,9 @@ typedef struct vnet_hw_interface_t
/* input node cpu index by queue */
u32 *input_node_thread_index_by_queue;
+ /* vnet_hw_interface_rx_mode by queue */
+ u8 *rx_mode_by_queue;
+
/* device input device_and_queue runtime index */
uword *dq_runtime_index_by_queue;
@@ -486,6 +492,15 @@ typedef enum
VNET_SW_INTERFACE_TYPE_SUB,
} vnet_sw_interface_type_t;
+typedef enum
+{
+ VNET_HW_INTERFACE_RX_MODE_UNKNOWN,
+ VNET_HW_INTERFACE_RX_MODE_POLLING,
+ VNET_HW_INTERFACE_RX_MODE_INTERRUPT,
+ VNET_HW_INTERFACE_RX_MODE_ADAPTIVE,
+ VNET_HW_INTERFACE_NUM_RX_MODES,
+} vnet_hw_interface_rx_mode;
+
typedef struct
{
/*