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;
};
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;
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_ */