/* rx mode flags */
#define VNET_HW_INTERFACE_FLAG_SUPPORTS_INT_MODE (1 << 10)
+ /* tx checksum offload */
+#define VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD (1 << 11)
+
/* Hardware address as vector. Zero (e.g. zero-length vector) if no
address for this class (e.g. PPP). */
u8 *hw_address;
/* Software index for this hardware interface. */
u32 sw_if_index;
+ /* Next index in interface-output node for this interface
+ used by node function vnet_per_buffer_interface_output() */
+ u32 output_node_next_index;
+
/* Maximum transmit rate for this interface in bits/sec. */
f64 max_rate_bits_per_sec;
/* A sub-interface. */
VNET_SW_INTERFACE_TYPE_SUB,
+ VNET_SW_INTERFACE_TYPE_P2P,
} vnet_sw_interface_type_t;
typedef struct
} eth;
} vnet_sub_interface_t;
+typedef struct
+{
+ /*
+ * Subinterface ID. A number 0-N to uniquely identify
+ * this subinterface under the main interface
+ */
+ u32 id;
+ u32 pool_index;
+ u8 client_mac[6];
+} vnet_p2p_sub_interface_t;
+
typedef enum
{
/* Always flood */
/* VNET_SW_INTERFACE_TYPE_SUB. */
vnet_sub_interface_t sub;
+
+ /* VNET_SW_INTERFACE_TYPE_P2P. */
+ vnet_p2p_sub_interface_t p2p;
};
vnet_flood_class_t flood_class;