mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
ice: Remove unnecessary argument from ice_fdir_comp_rules()
Passing v6 argument is unnecessary as flow_type is still analyzed inside the function. Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Signed-off-by: Lukasz Plachno <lukasz.plachno@intel.com> Reviewed-by: Simon Horman <horms@kernel.org> Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
982a73c7c5
commit
0a66e97643
|
|
@ -1189,52 +1189,54 @@ static int ice_cmp_ipv6_addr(__be32 *a, __be32 *b)
|
|||
* ice_fdir_comp_rules - compare 2 filters
|
||||
* @a: a Flow Director filter data structure
|
||||
* @b: a Flow Director filter data structure
|
||||
* @v6: bool true if v6 filter
|
||||
*
|
||||
* Returns true if the filters match
|
||||
*/
|
||||
static bool
|
||||
ice_fdir_comp_rules(struct ice_fdir_fltr *a, struct ice_fdir_fltr *b, bool v6)
|
||||
ice_fdir_comp_rules(struct ice_fdir_fltr *a, struct ice_fdir_fltr *b)
|
||||
{
|
||||
enum ice_fltr_ptype flow_type = a->flow_type;
|
||||
|
||||
/* The calling function already checks that the two filters have the
|
||||
* same flow_type.
|
||||
*/
|
||||
if (!v6) {
|
||||
if (flow_type == ICE_FLTR_PTYPE_NONF_IPV4_TCP ||
|
||||
flow_type == ICE_FLTR_PTYPE_NONF_IPV4_UDP ||
|
||||
flow_type == ICE_FLTR_PTYPE_NONF_IPV4_SCTP) {
|
||||
if (a->ip.v4.dst_ip == b->ip.v4.dst_ip &&
|
||||
a->ip.v4.src_ip == b->ip.v4.src_ip &&
|
||||
a->ip.v4.dst_port == b->ip.v4.dst_port &&
|
||||
a->ip.v4.src_port == b->ip.v4.src_port)
|
||||
return true;
|
||||
} else if (flow_type == ICE_FLTR_PTYPE_NONF_IPV4_OTHER) {
|
||||
if (a->ip.v4.dst_ip == b->ip.v4.dst_ip &&
|
||||
a->ip.v4.src_ip == b->ip.v4.src_ip &&
|
||||
a->ip.v4.l4_header == b->ip.v4.l4_header &&
|
||||
a->ip.v4.proto == b->ip.v4.proto &&
|
||||
a->ip.v4.ip_ver == b->ip.v4.ip_ver &&
|
||||
a->ip.v4.tos == b->ip.v4.tos)
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if (flow_type == ICE_FLTR_PTYPE_NONF_IPV6_UDP ||
|
||||
flow_type == ICE_FLTR_PTYPE_NONF_IPV6_TCP ||
|
||||
flow_type == ICE_FLTR_PTYPE_NONF_IPV6_SCTP) {
|
||||
if (a->ip.v6.dst_port == b->ip.v6.dst_port &&
|
||||
a->ip.v6.src_port == b->ip.v6.src_port &&
|
||||
!ice_cmp_ipv6_addr(a->ip.v6.dst_ip,
|
||||
b->ip.v6.dst_ip) &&
|
||||
!ice_cmp_ipv6_addr(a->ip.v6.src_ip,
|
||||
b->ip.v6.src_ip))
|
||||
return true;
|
||||
} else if (flow_type == ICE_FLTR_PTYPE_NONF_IPV6_OTHER) {
|
||||
if (a->ip.v6.dst_port == b->ip.v6.dst_port &&
|
||||
a->ip.v6.src_port == b->ip.v6.src_port)
|
||||
return true;
|
||||
}
|
||||
switch (flow_type) {
|
||||
case ICE_FLTR_PTYPE_NONF_IPV4_TCP:
|
||||
case ICE_FLTR_PTYPE_NONF_IPV4_UDP:
|
||||
case ICE_FLTR_PTYPE_NONF_IPV4_SCTP:
|
||||
if (a->ip.v4.dst_ip == b->ip.v4.dst_ip &&
|
||||
a->ip.v4.src_ip == b->ip.v4.src_ip &&
|
||||
a->ip.v4.dst_port == b->ip.v4.dst_port &&
|
||||
a->ip.v4.src_port == b->ip.v4.src_port)
|
||||
return true;
|
||||
break;
|
||||
case ICE_FLTR_PTYPE_NONF_IPV4_OTHER:
|
||||
if (a->ip.v4.dst_ip == b->ip.v4.dst_ip &&
|
||||
a->ip.v4.src_ip == b->ip.v4.src_ip &&
|
||||
a->ip.v4.l4_header == b->ip.v4.l4_header &&
|
||||
a->ip.v4.proto == b->ip.v4.proto &&
|
||||
a->ip.v4.ip_ver == b->ip.v4.ip_ver &&
|
||||
a->ip.v4.tos == b->ip.v4.tos)
|
||||
return true;
|
||||
break;
|
||||
case ICE_FLTR_PTYPE_NONF_IPV6_UDP:
|
||||
case ICE_FLTR_PTYPE_NONF_IPV6_TCP:
|
||||
case ICE_FLTR_PTYPE_NONF_IPV6_SCTP:
|
||||
if (a->ip.v6.dst_port == b->ip.v6.dst_port &&
|
||||
a->ip.v6.src_port == b->ip.v6.src_port &&
|
||||
!ice_cmp_ipv6_addr(a->ip.v6.dst_ip,
|
||||
b->ip.v6.dst_ip) &&
|
||||
!ice_cmp_ipv6_addr(a->ip.v6.src_ip,
|
||||
b->ip.v6.src_ip))
|
||||
return true;
|
||||
break;
|
||||
case ICE_FLTR_PTYPE_NONF_IPV6_OTHER:
|
||||
if (a->ip.v6.dst_port == b->ip.v6.dst_port &&
|
||||
a->ip.v6.src_port == b->ip.v6.src_port)
|
||||
return true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
@ -1253,19 +1255,10 @@ bool ice_fdir_is_dup_fltr(struct ice_hw *hw, struct ice_fdir_fltr *input)
|
|||
bool ret = false;
|
||||
|
||||
list_for_each_entry(rule, &hw->fdir_list_head, fltr_node) {
|
||||
enum ice_fltr_ptype flow_type;
|
||||
|
||||
if (rule->flow_type != input->flow_type)
|
||||
continue;
|
||||
|
||||
flow_type = input->flow_type;
|
||||
if (flow_type == ICE_FLTR_PTYPE_NONF_IPV4_TCP ||
|
||||
flow_type == ICE_FLTR_PTYPE_NONF_IPV4_UDP ||
|
||||
flow_type == ICE_FLTR_PTYPE_NONF_IPV4_SCTP ||
|
||||
flow_type == ICE_FLTR_PTYPE_NONF_IPV4_OTHER)
|
||||
ret = ice_fdir_comp_rules(rule, input, false);
|
||||
else
|
||||
ret = ice_fdir_comp_rules(rule, input, true);
|
||||
ret = ice_fdir_comp_rules(rule, input);
|
||||
if (ret) {
|
||||
if (rule->fltr_id == input->fltr_id &&
|
||||
rule->q_index != input->q_index)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user