Commit 0a66e976 authored by Lukasz Plachno's avatar Lukasz Plachno Committed by Tony Nguyen
Browse files

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: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: default avatarLukasz Plachno <lukasz.plachno@intel.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 982a73c7
Loading
Loading
Loading
Loading
+39 −46
Original line number Diff line number Diff line
@@ -1189,28 +1189,28 @@ 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) {
	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;
		} else if (flow_type == ICE_FLTR_PTYPE_NONF_IPV4_OTHER) {
		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 &&
@@ -1218,11 +1218,10 @@ ice_fdir_comp_rules(struct ice_fdir_fltr *a, struct ice_fdir_fltr *b, bool v6)
		    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) {
		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,
@@ -1230,11 +1229,14 @@ ice_fdir_comp_rules(struct ice_fdir_fltr *a, struct ice_fdir_fltr *b, bool v6)
		    !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) {
		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)