X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fhns3%2Fhns3_fdir.h;h=a5760a3ccf0004a630f58b04fbbfb171e4c6e236;hb=eca9a0d6c8436eba70e60873dd5625bd52a65262;hp=c1137b7d0a29a0e4ed92d2190f952a2499320c01;hpb=fcba820d9b9e34007223590d4c75417ed42563c1;p=dpdk.git diff --git a/drivers/net/hns3/hns3_fdir.h b/drivers/net/hns3/hns3_fdir.h index c1137b7d0a..a5760a3ccf 100644 --- a/drivers/net/hns3/hns3_fdir.h +++ b/drivers/net/hns3/hns3_fdir.h @@ -104,8 +104,18 @@ struct hns3_fd_rule_tuples { struct hns3_fd_ad_data { uint16_t ad_id; uint8_t drop_packet; - uint8_t forward_to_direct_queue; + /* + * equal 0 when action is drop. + * index of queue when action is queue. + * index of first queue of queue region when action is queue region. + */ uint16_t queue_id; + /* + * equal 0 when action is drop. + * equal 1 when action is queue. + * numbers of queues of queue region when action is queue region. + */ + uint16_t nb_queues; uint8_t use_counter; uint8_t counter_id; uint8_t use_next_stage; @@ -141,7 +151,18 @@ struct hns3_fdir_rule { uint8_t action; /* VF id, avaiblable when flags with HNS3_RULE_FLAG_VF_ID. */ uint8_t vf_id; + /* + * equal 0 when action is drop. + * index of queue when action is queue. + * index of first queue of queue region when action is queue region. + */ uint16_t queue_id; + /* + * equal 0 when action is drop. + * equal 1 when action is queue. + * numbers of queues of queue region when action is queue region. + */ + uint16_t nb_queues; uint16_t location; struct rte_flow_action_count act_cnt; }; @@ -152,6 +173,12 @@ struct hns3_fdir_rule_ele { struct hns3_fdir_rule fdir_conf; }; +/* rss filter list structure */ +struct hns3_rss_conf_ele { + TAILQ_ENTRY(hns3_rss_conf_ele) entries; + struct hns3_rss_conf filter_info; +}; + /* hns3_flow memory list structure */ struct hns3_flow_mem { TAILQ_ENTRY(hns3_flow_mem) entries; @@ -159,10 +186,12 @@ struct hns3_flow_mem { }; TAILQ_HEAD(hns3_fdir_rule_list, hns3_fdir_rule_ele); +TAILQ_HEAD(hns3_rss_filter_list, hns3_rss_conf_ele); TAILQ_HEAD(hns3_flow_mem_list, hns3_flow_mem); struct hns3_process_private { struct hns3_fdir_rule_list fdir_list; + struct hns3_rss_filter_list filter_rss_list; struct hns3_flow_mem_list flow_list; };