Lines Matching refs:tc_fltr

364  * @tc_fltr: pointer to TC flower filter
375 struct ice_tc_flower_fltr *tc_fltr,
380 struct ice_tc_flower_lyr_2_4_hdrs *headers = &tc_fltr->outer_headers;
390 if (tc_fltr->direction == ICE_ESWITCH_FLTR_EGRESS) {
395 rule_info->tun_type = ice_sw_type_from_tunnel(tc_fltr->tunnel_type);
396 if (tc_fltr->tunnel_type != TNL_LAST) {
397 i = ice_tc_fill_tunnel_outer(flags, tc_fltr, list, i);
400 if (tc_fltr->tunnel_type != TNL_PFCP) {
401 headers = &tc_fltr->inner_headers;
895 struct ice_tc_flower_fltr *tc_fltr)
897 u16 queue = tc_fltr->action.fwd.q.queue;
905 * @tc_fltr: Pointer to TC flower filter structure
911 ice_tc_forward_action(struct ice_vsi *vsi, struct ice_tc_flower_fltr *tc_fltr)
923 switch (tc_fltr->action.fltr_act) {
925 tc_class = tc_fltr->action.fwd.tc.tc_class;
928 NL_SET_ERR_MSG_MOD(tc_fltr->extack,
937 ring = ice_locate_rx_ring_using_queue(vsi, tc_fltr);
941 tc_fltr->action.fwd.q.queue);
947 q = tc_fltr->action.fwd.q.queue;
953 tc_fltr->action.fltr_act);
968 * @tc_fltr: Pointer to TC flower filter structure
975 struct ice_tc_flower_fltr *tc_fltr)
977 struct ice_tc_flower_lyr_2_4_hdrs *headers = &tc_fltr->outer_headers;
983 u32 flags = tc_fltr->flags;
993 NL_SET_ERR_MSG_MOD(tc_fltr->extack, "Unable to add filter because driver is in safe mode");
1002 NL_SET_ERR_MSG_MOD(tc_fltr->extack, "Unsupported encap field(s)");
1007 if (ice_is_forward_action(tc_fltr->action.fltr_act)) {
1008 dest_vsi = ice_tc_forward_action(vsi, tc_fltr);
1013 lkups_cnt = ice_tc_count_lkups(flags, headers, tc_fltr);
1018 i = ice_tc_fill_rules(hw, flags, tc_fltr, list, &rule_info, &l4_proto);
1024 rule_info.sw_act.fltr_act = tc_fltr->action.fltr_act;
1026 rule_info.fltr_rule_id = tc_fltr->cookie;
1028 switch (tc_fltr->action.fltr_act) {
1034 tc_fltr->action.fwd.tc.tc_class,
1039 rule_info.sw_act.fwd_id.q_id = tc_fltr->action.fwd.q.hw_queue;
1044 tc_fltr->action.fwd.q.queue,
1045 tc_fltr->action.fwd.q.hw_queue, lkups_cnt);
1059 NL_SET_ERR_MSG_MOD(tc_fltr->extack,
1064 NL_SET_ERR_MSG_MOD(tc_fltr->extack,
1072 tc_fltr->rid = rule_added.rid;
1073 tc_fltr->rule_id = rule_added.rule_id;
1074 tc_fltr->dest_vsi_handle = rule_added.vsi_handle;
1075 if (tc_fltr->action.fltr_act == ICE_FWD_TO_VSI ||
1076 tc_fltr->action.fltr_act == ICE_FWD_TO_Q) {
1077 tc_fltr->dest_vsi = dest_vsi;
1089 switch (tc_fltr->action.fltr_act) {
1093 tc_fltr->action.fwd.tc.tc_class, rule_added.rid,
1098 lkups_cnt, flags, tc_fltr->action.fwd.q.queue,
1099 tc_fltr->action.fwd.q.hw_queue, rule_added.rid,