+
+ /* Multicast MAC addresses added to the NIC */
+ uint32_t mc_count;
+ struct rte_ether_addr mc_addrs[ENIC_MULTICAST_PERFECT_FILTERS];
+
+ /* Flow manager API */
+ struct enic_flowman *fm;
+ /* switchdev */
+ uint8_t switchdev_mode;
+ uint16_t switch_domain_id;
+ uint16_t max_vf_id;
+ /*
+ * Lock to serialize devcmds from PF, VF representors as they all share
+ * the same PF devcmd instance in firmware.
+ */
+ rte_spinlock_t devcmd_lock;
+};
+
+struct enic_vf_representor {
+ struct enic enic;
+ struct vnic_enet_config config;
+ struct rte_eth_dev *eth_dev;
+ struct rte_ether_addr mac_addr;
+ struct rte_pci_addr bdf;
+ struct enic *pf;
+ uint16_t switch_domain_id;
+ uint16_t vf_id;
+ int allmulti;
+ int promisc;