net/bnxt: remove VLAN pop action for egress flows
[dpdk.git] / drivers / net / bnxt / bnxt.h
index 74e2c9a..f0b0800 100644 (file)
 #define BROADCOM_DEV_ID_58808          0x16f0
 #define BROADCOM_DEV_ID_58802_VF       0xd800
 
+#define BROADCOM_DEV_957508_N2100      0x5208
+#define IS_BNXT_DEV_957508_N2100(bp)   \
+       ((bp)->pdev->id.subsystem_device_id == BROADCOM_DEV_957508_N2100)
+
 #define BNXT_MAX_MTU           9574
 #define VLAN_TAG_SIZE          4
 #define BNXT_NUM_VLANS         2
        (BNXT_CHIP_THOR(bp) ? TPA_MAX_SEGS_TH : \
                              TPA_MAX_SEGS)
 
-#ifdef RTE_ARCH_ARM64
-#define BNXT_NUM_ASYNC_CPR(bp) (BNXT_STINGRAY(bp) ? 0 : 1)
+/*
+ * Define the number of async completion rings to be used. Set to zero for
+ * configurations in which the maximum number of packet completion rings
+ * for packet completions is desired or when async completion handling
+ * cannot be interrupt-driven.
+ */
+#ifdef RTE_EXEC_ENV_FREEBSD
+/* In FreeBSD OS, nic_uio driver does not support interrupts */
+#define BNXT_NUM_ASYNC_CPR(bp) 0
 #else
 #define BNXT_NUM_ASYNC_CPR(bp) 1
 #endif
 
-/* In FreeBSD OS, nic_uio driver does not support interrupts */
-#ifdef RTE_EXEC_ENV_FREEBSD
-#ifdef BNXT_NUM_ASYNC_CPR
-#undef BNXT_NUM_ASYNC_CPR
-#endif
-#define BNXT_NUM_ASYNC_CPR(bp) 0
-#endif
-
 #define BNXT_MISC_VEC_ID               RTE_INTR_VEC_ZERO_OFFSET
 #define BNXT_RX_VEC_START              RTE_INTR_VEC_RXTX_OFFSET
 
@@ -819,8 +822,7 @@ struct bnxt_vf_representor {
        uint16_t                dflt_vnic_id;
        uint16_t                svif;
        uint16_t                vfr_tx_cfa_action;
-       uint32_t                rep2vf_flow_id;
-       uint32_t                vf2rep_flow_id;
+       uint32_t                dpdk_port_id;
        /* Private data store of associated PF/Trusted VF */
        struct rte_eth_dev      *parent_dev;
        uint8_t                 mac_addr[RTE_ETHER_ADDR_LEN];
@@ -890,11 +892,14 @@ extern int bnxt_logtype_driver;
          PMD_DRV_LOG_RAW(level, fmt, ## args)
 
 extern const struct rte_flow_ops bnxt_ulp_rte_flow_ops;
-int32_t bnxt_ulp_init(struct bnxt *bp);
-void bnxt_ulp_deinit(struct bnxt *bp);
+int32_t bnxt_ulp_port_init(struct bnxt *bp);
+void bnxt_ulp_port_deinit(struct bnxt *bp);
 int32_t bnxt_ulp_create_df_rules(struct bnxt *bp);
 void bnxt_ulp_destroy_df_rules(struct bnxt *bp, bool global);
-
+int32_t
+bnxt_ulp_create_vfr_default_rules(struct rte_eth_dev *vfr_ethdev);
+int32_t
+bnxt_ulp_delete_vfr_default_rules(struct bnxt_vf_representor *vfr);
 uint16_t bnxt_get_vnic_id(uint16_t port, enum bnxt_ulp_intf_type type);
 uint16_t bnxt_get_svif(uint16_t port_id, bool func_svif,
                       enum bnxt_ulp_intf_type type);