Lines Matching refs:tc_fltr
375 struct ice_tc_flower_fltr *tc_fltr, in ice_tc_fill_rules() argument
380 struct ice_tc_flower_lyr_2_4_hdrs *headers = &tc_fltr->outer_headers; in ice_tc_fill_rules()
390 if (tc_fltr->direction == ICE_ESWITCH_FLTR_EGRESS) { in ice_tc_fill_rules()
395 rule_info->tun_type = ice_sw_type_from_tunnel(tc_fltr->tunnel_type); in ice_tc_fill_rules()
396 if (tc_fltr->tunnel_type != TNL_LAST) { in ice_tc_fill_rules()
397 i = ice_tc_fill_tunnel_outer(flags, tc_fltr, list, i); in ice_tc_fill_rules()
400 if (tc_fltr->tunnel_type != TNL_PFCP) { in ice_tc_fill_rules()
401 headers = &tc_fltr->inner_headers; in ice_tc_fill_rules()
906 struct ice_tc_flower_fltr *tc_fltr) in ice_locate_rx_ring_using_queue() argument
908 u16 queue = tc_fltr->action.fwd.q.queue; in ice_locate_rx_ring_using_queue()
922 ice_tc_forward_action(struct ice_vsi *vsi, struct ice_tc_flower_fltr *tc_fltr) in ice_tc_forward_action() argument
934 switch (tc_fltr->action.fltr_act) { in ice_tc_forward_action()
936 tc_class = tc_fltr->action.fwd.tc.tc_class; in ice_tc_forward_action()
939 NL_SET_ERR_MSG_MOD(tc_fltr->extack, in ice_tc_forward_action()
948 ring = ice_locate_rx_ring_using_queue(vsi, tc_fltr); in ice_tc_forward_action()
952 tc_fltr->action.fwd.q.queue); in ice_tc_forward_action()
958 q = tc_fltr->action.fwd.q.queue; in ice_tc_forward_action()
964 tc_fltr->action.fltr_act); in ice_tc_forward_action()
986 struct ice_tc_flower_fltr *tc_fltr) in ice_add_tc_flower_adv_fltr() argument
988 struct ice_tc_flower_lyr_2_4_hdrs *headers = &tc_fltr->outer_headers; in ice_add_tc_flower_adv_fltr()
994 u32 flags = tc_fltr->flags; in ice_add_tc_flower_adv_fltr()
1004 NL_SET_ERR_MSG_MOD(tc_fltr->extack, "Unable to add filter because driver is in safe mode"); in ice_add_tc_flower_adv_fltr()
1013 NL_SET_ERR_MSG_MOD(tc_fltr->extack, "Unsupported encap field(s)"); in ice_add_tc_flower_adv_fltr()
1018 if (ice_is_forward_action(tc_fltr->action.fltr_act)) { in ice_add_tc_flower_adv_fltr()
1019 dest_vsi = ice_tc_forward_action(vsi, tc_fltr); in ice_add_tc_flower_adv_fltr()
1024 lkups_cnt = ice_tc_count_lkups(flags, headers, tc_fltr); in ice_add_tc_flower_adv_fltr()
1029 i = ice_tc_fill_rules(hw, flags, tc_fltr, list, &rule_info, &l4_proto); in ice_add_tc_flower_adv_fltr()
1035 rule_info.sw_act.fltr_act = tc_fltr->action.fltr_act; in ice_add_tc_flower_adv_fltr()
1037 rule_info.fltr_rule_id = tc_fltr->cookie; in ice_add_tc_flower_adv_fltr()
1039 switch (tc_fltr->action.fltr_act) { in ice_add_tc_flower_adv_fltr()
1045 tc_fltr->action.fwd.tc.tc_class, in ice_add_tc_flower_adv_fltr()
1050 rule_info.sw_act.fwd_id.q_id = tc_fltr->action.fwd.q.hw_queue; in ice_add_tc_flower_adv_fltr()
1055 tc_fltr->action.fwd.q.queue, in ice_add_tc_flower_adv_fltr()
1056 tc_fltr->action.fwd.q.hw_queue, lkups_cnt); in ice_add_tc_flower_adv_fltr()
1070 NL_SET_ERR_MSG_MOD(tc_fltr->extack, in ice_add_tc_flower_adv_fltr()
1075 NL_SET_ERR_MSG_MOD(tc_fltr->extack, in ice_add_tc_flower_adv_fltr()
1083 tc_fltr->rid = rule_added.rid; in ice_add_tc_flower_adv_fltr()
1084 tc_fltr->rule_id = rule_added.rule_id; in ice_add_tc_flower_adv_fltr()
1085 tc_fltr->dest_vsi_handle = rule_added.vsi_handle; in ice_add_tc_flower_adv_fltr()
1086 if (tc_fltr->action.fltr_act == ICE_FWD_TO_VSI || in ice_add_tc_flower_adv_fltr()
1087 tc_fltr->action.fltr_act == ICE_FWD_TO_Q) { in ice_add_tc_flower_adv_fltr()
1088 tc_fltr->dest_vsi = dest_vsi; in ice_add_tc_flower_adv_fltr()
1100 switch (tc_fltr->action.fltr_act) { in ice_add_tc_flower_adv_fltr()
1104 tc_fltr->action.fwd.tc.tc_class, rule_added.rid, in ice_add_tc_flower_adv_fltr()
1109 lkups_cnt, flags, tc_fltr->action.fwd.q.queue, in ice_add_tc_flower_adv_fltr()
1110 tc_fltr->action.fwd.q.hw_queue, rule_added.rid, in ice_add_tc_flower_adv_fltr()