net/mlx5: fix layer validation with decapsulation
[dpdk.git] / drivers / net / hinic / hinic_pmd_ethdev.h
index 93cd6a7..3e3f3b3 100644 (file)
@@ -117,6 +117,18 @@ struct hinic_ntuple_filter_ele {
        struct rte_eth_ntuple_filter filter_info;
 };
 
+/* ethertype filter list structure */
+struct hinic_ethertype_filter_ele {
+       TAILQ_ENTRY(hinic_ethertype_filter_ele) entries;
+       struct rte_eth_ethertype_filter filter_info;
+};
+
+/* fdir filter list structure */
+struct hinic_fdir_rule_ele {
+       TAILQ_ENTRY(hinic_fdir_rule_ele) entries;
+       struct hinic_fdir_rule filter_info;
+};
+
 struct rte_flow {
        enum rte_filter_type filter_type;
        void *rule;
@@ -129,6 +141,8 @@ struct hinic_flow_mem {
 };
 
 TAILQ_HEAD(hinic_ntuple_filter_list, hinic_ntuple_filter_ele);
+TAILQ_HEAD(hinic_ethertype_filter_list, hinic_ethertype_filter_ele);
+TAILQ_HEAD(hinic_fdir_rule_filter_list, hinic_fdir_rule_ele);
 TAILQ_HEAD(hinic_flow_mem_list, hinic_flow_mem);
 
 extern const struct rte_flow_ops hinic_flow_ops;
@@ -159,16 +173,20 @@ struct hinic_nic_dev {
        u32 rx_mode_status;     /* promisc or allmulticast */
        unsigned long dev_status;
 
-       /* dpdk only */
        char proc_dev_name[HINIC_DEV_NAME_LEN];
        /* PF0->COS4, PF1->COS5, PF2->COS6, PF3->COS7,
         * vf: the same with associate pf
         */
        u32 default_cos;
+       u32 rx_csum_en;
 
        struct hinic_filter_info    filter;
        struct hinic_ntuple_filter_list filter_ntuple_list;
+       struct hinic_ethertype_filter_list filter_ethertype_list;
+       struct hinic_fdir_rule_filter_list filter_fdir_rule_list;
        struct hinic_flow_mem_list hinic_flow_list;
 };
 
+void hinic_free_fdir_filter(struct hinic_nic_dev *nic_dev);
+
 #endif /* _HINIC_PMD_ETHDEV_H_ */