Lines Matching refs:rule
2015 struct i40e_fdir_filter *rule; in i40e_get_ethtool_fdir_all() local
2022 hlist_for_each_entry_safe(rule, node2, in i40e_get_ethtool_fdir_all()
2027 rule_locs[cnt] = rule->fd_id; in i40e_get_ethtool_fdir_all()
2051 struct i40e_fdir_filter *rule = NULL; in i40e_get_ethtool_fdir_entry() local
2054 hlist_for_each_entry_safe(rule, node2, in i40e_get_ethtool_fdir_entry()
2056 if (fsp->location <= rule->fd_id) in i40e_get_ethtool_fdir_entry()
2060 if (!rule || fsp->location != rule->fd_id) in i40e_get_ethtool_fdir_entry()
2063 fsp->flow_type = rule->flow_type; in i40e_get_ethtool_fdir_entry()
2073 fsp->h_u.tcp_ip4_spec.psrc = rule->dst_port; in i40e_get_ethtool_fdir_entry()
2074 fsp->h_u.tcp_ip4_spec.pdst = rule->src_port; in i40e_get_ethtool_fdir_entry()
2075 fsp->h_u.tcp_ip4_spec.ip4src = rule->dst_ip[0]; in i40e_get_ethtool_fdir_entry()
2076 fsp->h_u.tcp_ip4_spec.ip4dst = rule->src_ip[0]; in i40e_get_ethtool_fdir_entry()
2078 if (rule->dest_ctl == I40E_FILTER_PROGRAM_DESC_DEST_DROP_PACKET) in i40e_get_ethtool_fdir_entry()
2081 fsp->ring_cookie = rule->q_index; in i40e_get_ethtool_fdir_entry()
2083 if (rule->dest_vsi != pf->vsi[pf->lan_vsi]->id) { in i40e_get_ethtool_fdir_entry()
2086 vsi = i40e_find_vsi_from_id(pf, rule->dest_vsi); in i40e_get_ethtool_fdir_entry()
2263 static bool i40e_match_fdir_input_set(struct i40e_fdir_filter *rule, in i40e_match_fdir_input_set() argument
2266 if ((rule->dst_ip[0] != input->dst_ip[0]) || in i40e_match_fdir_input_set()
2267 (rule->src_ip[0] != input->src_ip[0]) || in i40e_match_fdir_input_set()
2268 (rule->dst_port != input->dst_port) || in i40e_match_fdir_input_set()
2269 (rule->src_port != input->src_port)) in i40e_match_fdir_input_set()
2291 struct i40e_fdir_filter *rule, *parent; in i40e_update_ethtool_fdir_entry() local
2297 rule = NULL; in i40e_update_ethtool_fdir_entry()
2299 hlist_for_each_entry_safe(rule, node2, in i40e_update_ethtool_fdir_entry()
2302 if (rule->fd_id >= sw_idx) in i40e_update_ethtool_fdir_entry()
2304 parent = rule; in i40e_update_ethtool_fdir_entry()
2308 if (rule && (rule->fd_id == sw_idx)) { in i40e_update_ethtool_fdir_entry()
2309 if (input && !i40e_match_fdir_input_set(rule, input)) in i40e_update_ethtool_fdir_entry()
2310 err = i40e_add_del_fdir(vsi, rule, false); in i40e_update_ethtool_fdir_entry()
2312 err = i40e_add_del_fdir(vsi, rule, false); in i40e_update_ethtool_fdir_entry()
2313 hlist_del(&rule->fdir_node); in i40e_update_ethtool_fdir_entry()
2314 kfree(rule); in i40e_update_ethtool_fdir_entry()