+ VNET_HW_INTERFACE_FLAG_HALF_DUPLEX = (1 << 1),
+ VNET_HW_INTERFACE_FLAG_FULL_DUPLEX = (1 << 2),
+
+ /* Hardware link speed */
+ VNET_HW_INTERFACE_FLAG_SPEED_10M = (1 << 3),
+ VNET_HW_INTERFACE_FLAG_SPEED_100M = (1 << 4),
+ VNET_HW_INTERFACE_FLAG_SPEED_1G = (1 << 5),
+ VNET_HW_INTERFACE_FLAG_SPEED_2_5G = (1 << 6),
+ VNET_HW_INTERFACE_FLAG_SPEED_5G = (1 << 7),
+ VNET_HW_INTERFACE_FLAG_SPEED_10G = (1 << 8),
+ VNET_HW_INTERFACE_FLAG_SPEED_20G = (1 << 9),
+ VNET_HW_INTERFACE_FLAG_SPEED_25G = (1 << 10),
+ VNET_HW_INTERFACE_FLAG_SPEED_40G = (1 << 11),
+ VNET_HW_INTERFACE_FLAG_SPEED_50G = (1 << 12),
+ VNET_HW_INTERFACE_FLAG_SPEED_56G = (1 << 13),
+ VNET_HW_INTERFACE_FLAG_SPEED_100G = (1 << 14),
+
+ /* rx mode flags */
+ VNET_HW_INTERFACE_FLAG_SUPPORTS_INT_MODE = (1 << 16),
+
+ /* tx checksum offload */
+ VNET_HW_INTERFACE_FLAG_SUPPORTS_TX_L4_CKSUM_OFFLOAD = (1 << 17),
+} vnet_hw_interface_flags_t;
+
+#define VNET_HW_INTERFACE_FLAG_DUPLEX_SHIFT 1
+#define VNET_HW_INTERFACE_FLAG_SPEED_SHIFT 3