api: refactor to use REPLY_MSG_ID_BASE #define
[vpp.git] / src / vnet / interface.h
index f65b653..fe42e5d 100644 (file)
@@ -561,6 +561,14 @@ typedef enum vnet_hw_interface_capabilities_t_
    VNET_HW_INTERFACE_CAP_SUPPORTS_TX_TCP_CKSUM |                              \
    VNET_HW_INTERFACE_CAP_SUPPORTS_TX_UDP_CKSUM)
 
+#define VNET_HW_INTERFACE_CAP_SUPPORTS_TX_OUTER_CKSUM                         \
+  (VNET_HW_INTERFACE_CAP_SUPPORTS_TX_IP4_OUTER_CKSUM |                        \
+   VNET_HW_INTERFACE_CAP_SUPPORTS_TX_UDP_OUTER_CKSUM)
+
+#define VNET_HW_INTERFACE_CAP_SUPPORTS_TX_CKSUM_MASK                          \
+  (VNET_HW_INTERFACE_CAP_SUPPORTS_TX_CKSUM |                                  \
+   VNET_HW_INTERFACE_CAP_SUPPORTS_TX_OUTER_CKSUM)
+
 #define VNET_HW_INTERFACE_CAP_SUPPORTS_L4_RX_CKSUM                            \
   (VNET_HW_INTERFACE_CAP_SUPPORTS_RX_TCP_CKSUM |                              \
    VNET_HW_INTERFACE_CAP_SUPPORTS_RX_UDP_CKSUM)
@@ -570,6 +578,10 @@ typedef enum vnet_hw_interface_capabilities_t_
    VNET_HW_INTERFACE_CAP_SUPPORTS_RX_TCP_CKSUM |                              \
    VNET_HW_INTERFACE_CAP_SUPPORTS_RX_UDP_CKSUM)
 
+#define VNET_HW_INTERFACE_CAP_SUPPORTS_TNL_GSO_MASK                           \
+  VNET_HW_INTERFACE_CAP_SUPPORTS_VXLAN_TNL_GSO |                              \
+    VNET_HW_INTERFACE_CAP_SUPPORTS_IPIP_TNL_GSO
+
 #define VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT 1
 #define VNET_HW_INTERFACE_FLAG_SPEED_SHIFT  3
 #define VNET_HW_INTERFACE_FLAG_DUPLEX_MASK     \
@@ -630,6 +642,7 @@ typedef struct
 {
   CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   vnet_hw_if_tx_frame_t frame;
+  u32 n_threads;
 } vnet_hw_if_output_node_runtime_t;
 
 /* Hardware-interface.  This corresponds to a physical wire
@@ -716,9 +729,6 @@ typedef struct vnet_hw_interface_t
   /* Input node */
   u32 input_node_index;
 
-  /* input node cpu index by queue */
-  u32 *input_node_thread_index_by_queue;
-
   vnet_hw_if_rx_mode default_rx_mode;
 
   /* rx queues */
@@ -750,7 +760,8 @@ typedef struct
 
 typedef struct
 {
-  vnet_hw_if_rxq_poll_vector_t *rxq_poll_vector;
+  vnet_hw_if_rxq_poll_vector_t *rxq_vector_int;
+  vnet_hw_if_rxq_poll_vector_t *rxq_vector_poll;
   void *rxq_interrupts;
 } vnet_hw_if_rx_node_runtime_t;