Lines Matching refs:fltr_info
65 switch (entry->fltr_info.flow_type) { in ice_arfs_update_active_fltr_cntrs()
92 entry->fltr_info.flow_type); in ice_arfs_update_active_fltr_cntrs()
117 result = ice_fdir_write_fltr(vsi->back, &e->fltr_info, false, in ice_arfs_del_flow_rules()
123 result, e->fltr_state, e->fltr_info.fltr_id, in ice_arfs_del_flow_rules()
124 e->flow_id, e->fltr_info.q_index); in ice_arfs_del_flow_rules()
155 &ep->arfs_entry->fltr_info, true, in ice_arfs_add_flow_rules()
163 ep->arfs_entry->fltr_info.fltr_id, in ice_arfs_add_flow_rules()
165 ep->arfs_entry->fltr_info.q_index); in ice_arfs_add_flow_rules()
185 if (rps_may_expire_flow(vsi->netdev, arfs_entry->fltr_info.q_index, in ice_arfs_is_flow_expired()
187 arfs_entry->fltr_info.fltr_id)) in ice_arfs_is_flow_expired()
191 if (arfs_entry->fltr_info.flow_type != ICE_FLTR_PTYPE_NONF_IPV4_UDP && in ice_arfs_is_flow_expired()
192 arfs_entry->fltr_info.flow_type != ICE_FLTR_PTYPE_NONF_IPV6_UDP) in ice_arfs_is_flow_expired()
229 enum ice_fltr_ptype flow_type = e->fltr_info.flow_type; in ice_arfs_update_flow_rules()
305 struct ice_fdir_fltr *fltr_info; in ice_arfs_build_entry() local
314 fltr_info = &arfs_entry->fltr_info; in ice_arfs_build_entry()
315 fltr_info->q_index = rxq_idx; in ice_arfs_build_entry()
316 fltr_info->dest_ctl = ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QINDEX; in ice_arfs_build_entry()
317 fltr_info->dest_vsi = vsi->idx; in ice_arfs_build_entry()
321 fltr_info->ip.v4.proto = ip_proto; in ice_arfs_build_entry()
322 fltr_info->flow_type = (ip_proto == IPPROTO_TCP) ? in ice_arfs_build_entry()
325 fltr_info->ip.v4.src_ip = fk->addrs.v4addrs.src; in ice_arfs_build_entry()
326 fltr_info->ip.v4.dst_ip = fk->addrs.v4addrs.dst; in ice_arfs_build_entry()
327 fltr_info->ip.v4.src_port = fk->ports.src; in ice_arfs_build_entry()
328 fltr_info->ip.v4.dst_port = fk->ports.dst; in ice_arfs_build_entry()
330 fltr_info->ip.v6.proto = ip_proto; in ice_arfs_build_entry()
331 fltr_info->flow_type = (ip_proto == IPPROTO_TCP) ? in ice_arfs_build_entry()
334 memcpy(&fltr_info->ip.v6.src_ip, &fk->addrs.v6addrs.src, in ice_arfs_build_entry()
336 memcpy(&fltr_info->ip.v6.dst_ip, &fk->addrs.v6addrs.dst, in ice_arfs_build_entry()
338 fltr_info->ip.v6.src_port = fk->ports.src; in ice_arfs_build_entry()
339 fltr_info->ip.v6.dst_port = fk->ports.dst; in ice_arfs_build_entry()
343 fltr_info->fltr_id = in ice_arfs_build_entry()
395 ice_arfs_cmp(const struct ice_fdir_fltr *fltr_info, const struct flow_keys *fk, in ice_arfs_cmp() argument
401 bool is_v4 = fltr_info->flow_type == ICE_FLTR_PTYPE_NONF_IPV4_TCP || in ice_arfs_cmp()
402 fltr_info->flow_type == ICE_FLTR_PTYPE_NONF_IPV4_UDP; in ice_arfs_cmp()
409 fltr_info->ip.v4.src_port == fk->ports.src && in ice_arfs_cmp()
410 fltr_info->ip.v4.dst_port == fk->ports.dst && in ice_arfs_cmp()
411 fltr_info->ip.v4.src_ip == fk->addrs.v4addrs.src && in ice_arfs_cmp()
412 fltr_info->ip.v4.dst_ip == fk->addrs.v4addrs.dst && in ice_arfs_cmp()
413 fltr_info->ip.v4.proto == ip_proto; in ice_arfs_cmp()
415 return fltr_info->ip.v6.src_port == fk->ports.src && in ice_arfs_cmp()
416 fltr_info->ip.v6.dst_port == fk->ports.dst && in ice_arfs_cmp()
417 fltr_info->ip.v6.proto == ip_proto && in ice_arfs_cmp()
418 !memcmp(&fltr_info->ip.v6.src_ip, &fk->addrs.v6addrs.src, in ice_arfs_cmp()
420 !memcmp(&fltr_info->ip.v6.dst_ip, &fk->addrs.v6addrs.dst, in ice_arfs_cmp()
488 struct ice_fdir_fltr *fltr_info; in ice_rx_flow_steer() local
494 fltr_info = &arfs_entry->fltr_info; in ice_rx_flow_steer()
496 if (!ice_arfs_cmp(fltr_info, &fk, n_proto, ip_proto)) in ice_rx_flow_steer()
499 ret = fltr_info->fltr_id; in ice_rx_flow_steer()
501 if (fltr_info->q_index == rxq_idx || in ice_rx_flow_steer()
506 fltr_info->q_index = rxq_idx; in ice_rx_flow_steer()
518 ret = arfs_entry->fltr_info.fltr_id; in ice_rx_flow_steer()