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)
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 \
{
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
/* 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 */
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;