[02/14] ethdev: move MAC filter type to i40e driver

Message ID 1603030152-13451-3-git-send-email-arybchenko@solarflare.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series ethdev: remove legacy filter API |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Andrew Rybchenko Oct. 18, 2020, 2:08 p.m. UTC
  net/i40e driver is the only user of the enum rte_mac_filter_type.
Move the define to the driver and use i40e_ prefix instead of rte_.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/i40e/i40e_ethdev.c   | 58 ++++++++++++++++----------------
 drivers/net/i40e/i40e_ethdev.h   | 15 +++++++--
 drivers/net/i40e/i40e_pf.c       |  2 +-
 drivers/net/i40e/rte_pmd_i40e.c  | 30 ++++++++---------
 lib/librte_ethdev/rte_eth_ctrl.h | 11 ------
 5 files changed, 58 insertions(+), 58 deletions(-)
  

Comments

Guo, Jia Oct. 21, 2020, 4:01 a.m. UTC | #1
> -----Original Message-----
> From: Andrew Rybchenko <arybchenko@solarflare.com>
> Sent: Sunday, October 18, 2020 10:09 PM
> To: Xing, Beilei <beilei.xing@intel.com>; Guo, Jia <jia.guo@intel.com>;
> Thomas Monjalon <thomas@monjalon.net>; Yigit, Ferruh
> <ferruh.yigit@intel.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>
> Cc: dev@dpdk.org
> Subject: [PATCH 02/14] ethdev: move MAC filter type to i40e driver
> 
> net/i40e driver is the only user of the enum rte_mac_filter_type.
> Move the define to the driver and use i40e_ prefix instead of rte_.
> 
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> ---
>  drivers/net/i40e/i40e_ethdev.c   | 58 ++++++++++++++++----------------
>  drivers/net/i40e/i40e_ethdev.h   | 15 +++++++--
>  drivers/net/i40e/i40e_pf.c       |  2 +-
>  drivers/net/i40e/rte_pmd_i40e.c  | 30 ++++++++---------
> lib/librte_ethdev/rte_eth_ctrl.h | 11 ------
>  5 files changed, 58 insertions(+), 58 deletions(-)
> 

Where is the related remove in testpmd about the rte_mac_filter_type?

> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 217a7bbbd8..e298d7aee6 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -4329,9 +4329,9 @@ i40e_macaddr_add(struct rte_eth_dev *dev,
> 
>  	rte_memcpy(&mac_filter.mac_addr, mac_addr,
> RTE_ETHER_ADDR_LEN);
>  	if (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_FILTER)
> -		mac_filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
> +		mac_filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
>  	else
> -		mac_filter.filter_type = RTE_MAC_PERFECT_MATCH;
> +		mac_filter.filter_type = I40E_MAC_PERFECT_MATCH;
> 
>  	if (pool == 0)
>  		vsi = pf->main_vsi;
> @@ -5537,7 +5537,7 @@ i40e_update_default_filter_setting(struct i40e_vsi
> *vsi)
>  		mac = &f->mac_info.mac_addr;
>  		rte_memcpy(&mac->addr_bytes, hw->mac.perm_addr,
>  				ETH_ADDR_LEN);
> -		f->mac_info.filter_type = RTE_MACVLAN_PERFECT_MATCH;
> +		f->mac_info.filter_type = I40E_MACVLAN_PERFECT_MATCH;
>  		TAILQ_INSERT_TAIL(&vsi->mac_list, f, next);
>  		vsi->mac_num++;
> 
> @@ -5545,7 +5545,7 @@ i40e_update_default_filter_setting(struct i40e_vsi
> *vsi)
>  	}
>  	rte_memcpy(&filter.mac_addr,
>  		(struct rte_ether_addr *)(hw->mac.perm_addr),
> ETH_ADDR_LEN);
> -	filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
> +	filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
>  	return i40e_vsi_add_mac(vsi, &filter);  }
> 
> @@ -6011,7 +6011,7 @@ i40e_vsi_setup(struct i40e_pf *pf,
> 
>  	/* MAC/VLAN configuration */
>  	rte_memcpy(&filter.mac_addr, &broadcast, RTE_ETHER_ADDR_LEN);
> -	filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
> +	filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
> 
>  	ret = i40e_vsi_add_mac(vsi, &filter);
>  	if (ret != I40E_SUCCESS) {
> @@ -6039,15 +6039,15 @@ i40e_vsi_config_vlan_filter(struct i40e_vsi *vsi,
> bool on)
>  	struct i40e_mac_filter *f;
>  	void *temp;
>  	struct i40e_mac_filter_info *mac_filter;
> -	enum rte_mac_filter_type desired_filter;
> +	enum i40e_mac_filter_type desired_filter;
>  	int ret = I40E_SUCCESS;
> 
>  	if (on) {
>  		/* Filter to match MAC and VLAN */
> -		desired_filter = RTE_MACVLAN_PERFECT_MATCH;
> +		desired_filter = I40E_MACVLAN_PERFECT_MATCH;
>  	} else {
>  		/* Filter to match only MAC */
> -		desired_filter = RTE_MAC_PERFECT_MATCH;
> +		desired_filter = I40E_MAC_PERFECT_MATCH;
>  	}
> 
>  	num = vsi->mac_num;
> @@ -6990,18 +6990,18 @@ i40e_add_macvlan_filters(struct i40e_vsi *vsi,
>  				rte_cpu_to_le_16(filter[num + i].vlan_id);
> 
>  			switch (filter[num + i].filter_type) {
> -			case RTE_MAC_PERFECT_MATCH:
> +			case I40E_MAC_PERFECT_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_ADD_PERFECT_MATCH |
> 
> 	I40E_AQC_MACVLAN_ADD_IGNORE_VLAN;
>  				break;
> -			case RTE_MACVLAN_PERFECT_MATCH:
> +			case I40E_MACVLAN_PERFECT_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_ADD_PERFECT_MATCH;
>  				break;
> -			case RTE_MAC_HASH_MATCH:
> +			case I40E_MAC_HASH_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_ADD_HASH_MATCH |
> 
> 	I40E_AQC_MACVLAN_ADD_IGNORE_VLAN;
>  				break;
> -			case RTE_MACVLAN_HASH_MATCH:
> +			case I40E_MACVLAN_HASH_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_ADD_HASH_MATCH;
>  				break;
>  			default:
> @@ -7065,18 +7065,18 @@ i40e_remove_macvlan_filters(struct i40e_vsi *vsi,
>  				rte_cpu_to_le_16(filter[num + i].vlan_id);
> 
>  			switch (filter[num + i].filter_type) {
> -			case RTE_MAC_PERFECT_MATCH:
> +			case I40E_MAC_PERFECT_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_DEL_PERFECT_MATCH |
> 
> 	I40E_AQC_MACVLAN_DEL_IGNORE_VLAN;
>  				break;
> -			case RTE_MACVLAN_PERFECT_MATCH:
> +			case I40E_MACVLAN_PERFECT_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_DEL_PERFECT_MATCH;
>  				break;
> -			case RTE_MAC_HASH_MATCH:
> +			case I40E_MAC_HASH_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_DEL_HASH_MATCH |
> 
> 	I40E_AQC_MACVLAN_DEL_IGNORE_VLAN;
>  				break;
> -			case RTE_MACVLAN_HASH_MATCH:
> +			case I40E_MACVLAN_HASH_MATCH:
>  				flags =
> I40E_AQC_MACVLAN_DEL_HASH_MATCH;
>  				break;
>  			default:
> @@ -7421,8 +7421,8 @@ i40e_vsi_add_mac(struct i40e_vsi *vsi, struct
> i40e_mac_filter_info *mac_filter)
>  	f = i40e_find_mac_filter(vsi, &mac_filter->mac_addr);
>  	if (f != NULL)
>  		return I40E_SUCCESS;
> -	if ((mac_filter->filter_type == RTE_MACVLAN_PERFECT_MATCH) ||
> -		(mac_filter->filter_type == RTE_MACVLAN_HASH_MATCH))
> {
> +	if (mac_filter->filter_type == I40E_MACVLAN_PERFECT_MATCH ||
> +		mac_filter->filter_type == I40E_MACVLAN_HASH_MATCH) {
> 
>  		/**
>  		 * If vlan_num is 0, that's the first time to add mac, @@ -
> 7433,8 +7433,8 @@ i40e_vsi_add_mac(struct i40e_vsi *vsi, struct
> i40e_mac_filter_info *mac_filter)
>  			vsi->vlan_num = 1;
>  		}
>  		vlan_num = vsi->vlan_num;
> -	} else if ((mac_filter->filter_type == RTE_MAC_PERFECT_MATCH) ||
> -			(mac_filter->filter_type ==
> RTE_MAC_HASH_MATCH))
> +	} else if (mac_filter->filter_type == I40E_MAC_PERFECT_MATCH ||
> +			mac_filter->filter_type == I40E_MAC_HASH_MATCH)
>  		vlan_num = 1;
> 
>  	mv_f = rte_zmalloc("macvlan_data", vlan_num * sizeof(*mv_f), 0);
> @@ -7449,8 +7449,8 @@ i40e_vsi_add_mac(struct i40e_vsi *vsi, struct
> i40e_mac_filter_info *mac_filter)
>  				ETH_ADDR_LEN);
>  	}
> 
> -	if (mac_filter->filter_type == RTE_MACVLAN_PERFECT_MATCH ||
> -		mac_filter->filter_type == RTE_MACVLAN_HASH_MATCH) {
> +	if (mac_filter->filter_type == I40E_MACVLAN_PERFECT_MATCH ||
> +		mac_filter->filter_type == I40E_MACVLAN_HASH_MATCH) {
>  		ret = i40e_find_all_vlan_for_mac(vsi, mv_f, vlan_num,
>  					&mac_filter->mac_addr);
>  		if (ret != I40E_SUCCESS)
> @@ -7487,7 +7487,7 @@ i40e_vsi_delete_mac(struct i40e_vsi *vsi, struct
> rte_ether_addr *addr)
>  	struct i40e_mac_filter *f;
>  	struct i40e_macvlan_filter *mv_f;
>  	int i, vlan_num;
> -	enum rte_mac_filter_type filter_type;
> +	enum i40e_mac_filter_type filter_type;
>  	int ret = I40E_SUCCESS;
> 
>  	/* Can't find it, return an error */
> @@ -7497,14 +7497,14 @@ i40e_vsi_delete_mac(struct i40e_vsi *vsi, struct
> rte_ether_addr *addr)
> 
>  	vlan_num = vsi->vlan_num;
>  	filter_type = f->mac_info.filter_type;
> -	if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
> -		filter_type == RTE_MACVLAN_HASH_MATCH) {
> +	if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
> +		filter_type == I40E_MACVLAN_HASH_MATCH) {
>  		if (vlan_num == 0) {
>  			PMD_DRV_LOG(ERR, "VLAN number shouldn't be 0");
>  			return I40E_ERR_PARAM;
>  		}
> -	} else if (filter_type == RTE_MAC_PERFECT_MATCH ||
> -			filter_type == RTE_MAC_HASH_MATCH)
> +	} else if (filter_type == I40E_MAC_PERFECT_MATCH ||
> +			filter_type == I40E_MAC_HASH_MATCH)
>  		vlan_num = 1;
> 
>  	mv_f = rte_zmalloc("macvlan_data", vlan_num * sizeof(*mv_f), 0);
> @@ -7518,8 +7518,8 @@ i40e_vsi_delete_mac(struct i40e_vsi *vsi, struct
> rte_ether_addr *addr)
>  		rte_memcpy(&mv_f[i].macaddr, &f->mac_info.mac_addr,
>  				ETH_ADDR_LEN);
>  	}
> -	if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
> -			filter_type == RTE_MACVLAN_HASH_MATCH) {
> +	if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
> +			filter_type == I40E_MACVLAN_HASH_MATCH) {
>  		ret = i40e_find_all_vlan_for_mac(vsi, mv_f, vlan_num, addr);
>  		if (ret != I40E_SUCCESS)
>  			goto DONE;
> diff --git a/drivers/net/i40e/i40e_ethdev.h
> b/drivers/net/i40e/i40e_ethdev.h index 1466998aa1..458219c784 100644
> --- a/drivers/net/i40e/i40e_ethdev.h
> +++ b/drivers/net/i40e/i40e_ethdev.h
> @@ -288,11 +288,22 @@ struct rte_flow {
>  struct i40e_adapter;
>  struct rte_pci_driver;
> 
> +/**
> + * MAC filter type
> + */
> +enum i40e_mac_filter_type {
> +	I40E_MAC_PERFECT_MATCH = 1, /**< exact match of MAC addr. */
> +	I40E_MACVLAN_PERFECT_MATCH, /**< exact match of MAC addr
> and VLAN ID. */
> +	I40E_MAC_HASH_MATCH, /**< hash match of MAC addr. */
> +	/** hash match of MAC addr and exact match of VLAN ID. */
> +	I40E_MACVLAN_HASH_MATCH,
> +};
> +
>  /**
>   * MAC filter structure
>   */
>  struct i40e_mac_filter_info {
> -	enum rte_mac_filter_type filter_type;
> +	enum i40e_mac_filter_type filter_type;
>  	struct rte_ether_addr mac_addr;
>  };
> 
> @@ -347,7 +358,7 @@ struct i40e_veb {
>  /* i40e MACVLAN filter structure */
>  struct i40e_macvlan_filter {
>  	struct rte_ether_addr macaddr;
> -	enum rte_mac_filter_type filter_type;
> +	enum i40e_mac_filter_type filter_type;
>  	uint16_t vlan_id;
>  };
> 
> diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c index
> 03c2070c3f..65d649b627 100644
> --- a/drivers/net/i40e/i40e_pf.c
> +++ b/drivers/net/i40e/i40e_pf.c
> @@ -844,7 +844,7 @@
> i40e_pf_host_process_cmd_add_ether_address(struct i40e_pf_vf *vf,
>  	for (i = 0; i < addr_list->num_elements; i++) {
>  		mac = (struct rte_ether_addr *)(addr_list->list[i].addr);
>  		rte_memcpy(&filter.mac_addr, mac, RTE_ETHER_ADDR_LEN);
> -		filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
> +		filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
>  		if (rte_is_zero_ether_addr(mac) ||
>  		    i40e_vsi_add_mac(vf->vsi, &filter)) {
>  			ret = I40E_ERR_INVALID_MAC_ADDR;
> diff --git a/drivers/net/i40e/rte_pmd_i40e.c
> b/drivers/net/i40e/rte_pmd_i40e.c index 17938e7d30..790d042002 100644
> --- a/drivers/net/i40e/rte_pmd_i40e.c
> +++ b/drivers/net/i40e/rte_pmd_i40e.c
> @@ -211,7 +211,7 @@ i40e_vsi_rm_mac_filter(struct i40e_vsi *vsi)
>  	struct i40e_mac_filter *f;
>  	struct i40e_macvlan_filter *mv_f;
>  	int i, vlan_num;
> -	enum rte_mac_filter_type filter_type;
> +	enum i40e_mac_filter_type filter_type;
>  	int ret = I40E_SUCCESS;
>  	void *temp;
> 
> @@ -219,14 +219,14 @@ i40e_vsi_rm_mac_filter(struct i40e_vsi *vsi)
>  	TAILQ_FOREACH_SAFE(f, &vsi->mac_list, next, temp) {
>  		vlan_num = vsi->vlan_num;
>  		filter_type = f->mac_info.filter_type;
> -		if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
> -		    filter_type == RTE_MACVLAN_HASH_MATCH) {
> +		if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
> +		    filter_type == I40E_MACVLAN_HASH_MATCH) {
>  			if (vlan_num == 0) {
>  				PMD_DRV_LOG(ERR, "VLAN number
> shouldn't be 0");
>  				return I40E_ERR_PARAM;
>  			}
> -		} else if (filter_type == RTE_MAC_PERFECT_MATCH ||
> -			   filter_type == RTE_MAC_HASH_MATCH)
> +		} else if (filter_type == I40E_MAC_PERFECT_MATCH ||
> +			   filter_type == I40E_MAC_HASH_MATCH)
>  			vlan_num = 1;
> 
>  		mv_f = rte_zmalloc("macvlan_data", vlan_num *
> sizeof(*mv_f), 0); @@ -241,8 +241,8 @@ i40e_vsi_rm_mac_filter(struct
> i40e_vsi *vsi)
>  					 &f->mac_info.mac_addr,
>  					 ETH_ADDR_LEN);
>  		}
> -		if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
> -		    filter_type == RTE_MACVLAN_HASH_MATCH) {
> +		if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
> +		    filter_type == I40E_MACVLAN_HASH_MATCH) {
>  			ret = i40e_find_all_vlan_for_mac(vsi, mv_f,
> vlan_num,
>  							 &f-
> >mac_info.mac_addr);
>  			if (ret != I40E_SUCCESS) {
> @@ -275,8 +275,8 @@ i40e_vsi_restore_mac_filter(struct i40e_vsi *vsi)
> 
>  	/* restore all the MACs */
>  	TAILQ_FOREACH_SAFE(f, &vsi->mac_list, next, temp) {
> -		if ((f->mac_info.filter_type ==
> RTE_MACVLAN_PERFECT_MATCH) ||
> -		    (f->mac_info.filter_type ==
> RTE_MACVLAN_HASH_MATCH)) {
> +		if (f->mac_info.filter_type ==
> I40E_MACVLAN_PERFECT_MATCH ||
> +		    f->mac_info.filter_type == I40E_MACVLAN_HASH_MATCH)
> {
>  			/**
>  			 * If vlan_num is 0, that's the first time to add mac,
>  			 * set mask for vlan_id 0.
> @@ -286,8 +286,8 @@ i40e_vsi_restore_mac_filter(struct i40e_vsi *vsi)
>  				vsi->vlan_num = 1;
>  			}
>  			vlan_num = vsi->vlan_num;
> -		} else if ((f->mac_info.filter_type ==
> RTE_MAC_PERFECT_MATCH) ||
> -			   (f->mac_info.filter_type ==
> RTE_MAC_HASH_MATCH))
> +		} else if (f->mac_info.filter_type ==
> I40E_MAC_PERFECT_MATCH ||
> +			   f->mac_info.filter_type ==
> I40E_MAC_HASH_MATCH)
>  			vlan_num = 1;
> 
>  		mv_f = rte_zmalloc("macvlan_data", vlan_num *
> sizeof(*mv_f), 0); @@ -303,8 +303,8 @@ i40e_vsi_restore_mac_filter(struct
> i40e_vsi *vsi)
>  					 ETH_ADDR_LEN);
>  		}
> 
> -		if (f->mac_info.filter_type ==
> RTE_MACVLAN_PERFECT_MATCH ||
> -		    f->mac_info.filter_type == RTE_MACVLAN_HASH_MATCH)
> {
> +		if (f->mac_info.filter_type ==
> I40E_MACVLAN_PERFECT_MATCH ||
> +		    f->mac_info.filter_type == I40E_MACVLAN_HASH_MATCH)
> {
>  			ret = i40e_find_all_vlan_for_mac(vsi, mv_f,
> vlan_num,
>  							 &f-
> >mac_info.mac_addr);
>  			if (ret != I40E_SUCCESS) {
> @@ -768,7 +768,7 @@ int rte_pmd_i40e_set_vf_broadcast(uint16_t port,
> uint16_t vf_id,
> 
>  	if (on) {
>  		rte_memcpy(&filter.mac_addr, &broadcast,
> RTE_ETHER_ADDR_LEN);
> -		filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
> +		filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
>  		ret = i40e_vsi_add_mac(vsi, &filter);
>  	} else {
>  		ret = i40e_vsi_delete_mac(vsi, &broadcast); @@ -2388,7
> +2388,7 @@ rte_pmd_i40e_add_vf_mac_addr(uint16_t port, uint16_t vf_id,
>  		return -EINVAL;
>  	}
> 
> -	mac_filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
> +	mac_filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
>  	rte_ether_addr_copy(mac_addr, &mac_filter.mac_addr);
>  	ret = i40e_vsi_add_mac(vsi, &mac_filter);
>  	if (ret != I40E_SUCCESS) {
> diff --git a/lib/librte_ethdev/rte_eth_ctrl.h
> b/lib/librte_ethdev/rte_eth_ctrl.h
> index bbb94eccce..a3d49e0913 100644
> --- a/lib/librte_ethdev/rte_eth_ctrl.h
> +++ b/lib/librte_ethdev/rte_eth_ctrl.h
> @@ -56,17 +56,6 @@ enum rte_filter_op {
>  	RTE_ETH_FILTER_OP_MAX
>  };
> 
> -/**
> - * MAC filter type
> - */
> -enum rte_mac_filter_type {
> -	RTE_MAC_PERFECT_MATCH = 1, /**< exact match of MAC addr. */
> -	RTE_MACVLAN_PERFECT_MATCH, /**< exact match of MAC addr
> and VLAN ID. */
> -	RTE_MAC_HASH_MATCH, /**< hash match of MAC addr. */
> -	/** hash match of MAC addr and exact match of VLAN ID. */
> -	RTE_MACVLAN_HASH_MATCH,
> -};
> -
>  /**
>   * Define all structures for Ethertype Filter type.
>   */
> --
> 2.17.1
  
Andrew Rybchenko Oct. 21, 2020, 4:09 p.m. UTC | #2
On 10/21/20 7:01 AM, Guo, Jia wrote:
> 
>> -----Original Message-----
>> From: Andrew Rybchenko <arybchenko@solarflare.com>
>> Sent: Sunday, October 18, 2020 10:09 PM
>> To: Xing, Beilei <beilei.xing@intel.com>; Guo, Jia <jia.guo@intel.com>;
>> Thomas Monjalon <thomas@monjalon.net>; Yigit, Ferruh
>> <ferruh.yigit@intel.com>; Andrew Rybchenko
>> <andrew.rybchenko@oktetlabs.ru>
>> Cc: dev@dpdk.org
>> Subject: [PATCH 02/14] ethdev: move MAC filter type to i40e driver
>>
>> net/i40e driver is the only user of the enum rte_mac_filter_type.
>> Move the define to the driver and use i40e_ prefix instead of rte_.
>>
>> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
>> ---
>>   drivers/net/i40e/i40e_ethdev.c   | 58 ++++++++++++++++----------------
>>   drivers/net/i40e/i40e_ethdev.h   | 15 +++++++--
>>   drivers/net/i40e/i40e_pf.c       |  2 +-
>>   drivers/net/i40e/rte_pmd_i40e.c  | 30 ++++++++---------
>> lib/librte_ethdev/rte_eth_ctrl.h | 11 ------
>>   5 files changed, 58 insertions(+), 58 deletions(-)
>>
> 
> Where is the related remove in testpmd about the rte_mac_filter_type?

There is no rte_mac_filter_type in testpmd.
Corresponding filter support is removed in the previous
patch including testpmd.
  
Guo, Jia Oct. 22, 2020, 2:58 a.m. UTC | #3
> -----Original Message-----
> From: Andrew Rybchenko <arybchenko@solarflare.com>
> Sent: Thursday, October 22, 2020 12:09 AM
> To: Guo, Jia <jia.guo@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> Thomas Monjalon <thomas@monjalon.net>; Yigit, Ferruh
> <ferruh.yigit@intel.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>
> Cc: dev@dpdk.org
> Subject: Re: [PATCH 02/14] ethdev: move MAC filter type to i40e driver
> 
> On 10/21/20 7:01 AM, Guo, Jia wrote:
> >
> >> -----Original Message-----
> >> From: Andrew Rybchenko <arybchenko@solarflare.com>
> >> Sent: Sunday, October 18, 2020 10:09 PM
> >> To: Xing, Beilei <beilei.xing@intel.com>; Guo, Jia
> >> <jia.guo@intel.com>; Thomas Monjalon <thomas@monjalon.net>; Yigit,
> >> Ferruh <ferruh.yigit@intel.com>; Andrew Rybchenko
> >> <andrew.rybchenko@oktetlabs.ru>
> >> Cc: dev@dpdk.org
> >> Subject: [PATCH 02/14] ethdev: move MAC filter type to i40e driver
> >>
> >> net/i40e driver is the only user of the enum rte_mac_filter_type.
> >> Move the define to the driver and use i40e_ prefix instead of rte_.
> >>
> >> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> >> ---
> >>   drivers/net/i40e/i40e_ethdev.c   | 58 ++++++++++++++++----------------
> >>   drivers/net/i40e/i40e_ethdev.h   | 15 +++++++--
> >>   drivers/net/i40e/i40e_pf.c       |  2 +-
> >>   drivers/net/i40e/rte_pmd_i40e.c  | 30 ++++++++---------
> >> lib/librte_ethdev/rte_eth_ctrl.h | 11 ------
> >>   5 files changed, 58 insertions(+), 58 deletions(-)
> >>
> >
> > Where is the related remove in testpmd about the rte_mac_filter_type?
> 
> There is no rte_mac_filter_type in testpmd.
> Corresponding filter support is removed in the previous patch including
> testpmd.

Oh, seems that there is some overlap between MACVLAN and MAC filter patch, I am not sure if this is a good suggestion that decouple this two testpmd usage or
just merge this two patch into one patch, basically flow that one patch involve the removing of the function and corresponding usage.
  
Andrew Rybchenko Oct. 22, 2020, 7:19 a.m. UTC | #4
On 10/22/20 5:58 AM, Guo, Jia wrote:
> 
>> -----Original Message-----
>> From: Andrew Rybchenko <arybchenko@solarflare.com>
>> Sent: Thursday, October 22, 2020 12:09 AM
>> To: Guo, Jia <jia.guo@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
>> Thomas Monjalon <thomas@monjalon.net>; Yigit, Ferruh
>> <ferruh.yigit@intel.com>; Andrew Rybchenko
>> <andrew.rybchenko@oktetlabs.ru>
>> Cc: dev@dpdk.org
>> Subject: Re: [PATCH 02/14] ethdev: move MAC filter type to i40e driver
>>
>> On 10/21/20 7:01 AM, Guo, Jia wrote:
>>>
>>>> -----Original Message-----
>>>> From: Andrew Rybchenko <arybchenko@solarflare.com>
>>>> Sent: Sunday, October 18, 2020 10:09 PM
>>>> To: Xing, Beilei <beilei.xing@intel.com>; Guo, Jia
>>>> <jia.guo@intel.com>; Thomas Monjalon <thomas@monjalon.net>; Yigit,
>>>> Ferruh <ferruh.yigit@intel.com>; Andrew Rybchenko
>>>> <andrew.rybchenko@oktetlabs.ru>
>>>> Cc: dev@dpdk.org
>>>> Subject: [PATCH 02/14] ethdev: move MAC filter type to i40e driver
>>>>
>>>> net/i40e driver is the only user of the enum rte_mac_filter_type.
>>>> Move the define to the driver and use i40e_ prefix instead of rte_.
>>>>
>>>> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
>>>> ---
>>>>   drivers/net/i40e/i40e_ethdev.c   | 58 ++++++++++++++++----------------
>>>>   drivers/net/i40e/i40e_ethdev.h   | 15 +++++++--
>>>>   drivers/net/i40e/i40e_pf.c       |  2 +-
>>>>   drivers/net/i40e/rte_pmd_i40e.c  | 30 ++++++++---------
>>>> lib/librte_ethdev/rte_eth_ctrl.h | 11 ------
>>>>   5 files changed, 58 insertions(+), 58 deletions(-)
>>>>
>>>
>>> Where is the related remove in testpmd about the rte_mac_filter_type?
>>
>> There is no rte_mac_filter_type in testpmd.
>> Corresponding filter support is removed in the previous patch including
>> testpmd.
> 
> Oh, seems that there is some overlap between MACVLAN and MAC filter patch, I am not sure if this is a good suggestion that decouple this two testpmd usage or
> just merge this two patch into one patch, basically flow that one patch involve the removing of the function and corresponding usage. 
> 

It is just inconsistency in terminology in legacy filter API.
MAC filter type is flavor of MACVLAN.
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 217a7bbbd8..e298d7aee6 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -4329,9 +4329,9 @@  i40e_macaddr_add(struct rte_eth_dev *dev,
 
 	rte_memcpy(&mac_filter.mac_addr, mac_addr, RTE_ETHER_ADDR_LEN);
 	if (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_FILTER)
-		mac_filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+		mac_filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 	else
-		mac_filter.filter_type = RTE_MAC_PERFECT_MATCH;
+		mac_filter.filter_type = I40E_MAC_PERFECT_MATCH;
 
 	if (pool == 0)
 		vsi = pf->main_vsi;
@@ -5537,7 +5537,7 @@  i40e_update_default_filter_setting(struct i40e_vsi *vsi)
 		mac = &f->mac_info.mac_addr;
 		rte_memcpy(&mac->addr_bytes, hw->mac.perm_addr,
 				ETH_ADDR_LEN);
-		f->mac_info.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+		f->mac_info.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 		TAILQ_INSERT_TAIL(&vsi->mac_list, f, next);
 		vsi->mac_num++;
 
@@ -5545,7 +5545,7 @@  i40e_update_default_filter_setting(struct i40e_vsi *vsi)
 	}
 	rte_memcpy(&filter.mac_addr,
 		(struct rte_ether_addr *)(hw->mac.perm_addr), ETH_ADDR_LEN);
-	filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+	filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 	return i40e_vsi_add_mac(vsi, &filter);
 }
 
@@ -6011,7 +6011,7 @@  i40e_vsi_setup(struct i40e_pf *pf,
 
 	/* MAC/VLAN configuration */
 	rte_memcpy(&filter.mac_addr, &broadcast, RTE_ETHER_ADDR_LEN);
-	filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+	filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 
 	ret = i40e_vsi_add_mac(vsi, &filter);
 	if (ret != I40E_SUCCESS) {
@@ -6039,15 +6039,15 @@  i40e_vsi_config_vlan_filter(struct i40e_vsi *vsi, bool on)
 	struct i40e_mac_filter *f;
 	void *temp;
 	struct i40e_mac_filter_info *mac_filter;
-	enum rte_mac_filter_type desired_filter;
+	enum i40e_mac_filter_type desired_filter;
 	int ret = I40E_SUCCESS;
 
 	if (on) {
 		/* Filter to match MAC and VLAN */
-		desired_filter = RTE_MACVLAN_PERFECT_MATCH;
+		desired_filter = I40E_MACVLAN_PERFECT_MATCH;
 	} else {
 		/* Filter to match only MAC */
-		desired_filter = RTE_MAC_PERFECT_MATCH;
+		desired_filter = I40E_MAC_PERFECT_MATCH;
 	}
 
 	num = vsi->mac_num;
@@ -6990,18 +6990,18 @@  i40e_add_macvlan_filters(struct i40e_vsi *vsi,
 				rte_cpu_to_le_16(filter[num + i].vlan_id);
 
 			switch (filter[num + i].filter_type) {
-			case RTE_MAC_PERFECT_MATCH:
+			case I40E_MAC_PERFECT_MATCH:
 				flags = I40E_AQC_MACVLAN_ADD_PERFECT_MATCH |
 					I40E_AQC_MACVLAN_ADD_IGNORE_VLAN;
 				break;
-			case RTE_MACVLAN_PERFECT_MATCH:
+			case I40E_MACVLAN_PERFECT_MATCH:
 				flags = I40E_AQC_MACVLAN_ADD_PERFECT_MATCH;
 				break;
-			case RTE_MAC_HASH_MATCH:
+			case I40E_MAC_HASH_MATCH:
 				flags = I40E_AQC_MACVLAN_ADD_HASH_MATCH |
 					I40E_AQC_MACVLAN_ADD_IGNORE_VLAN;
 				break;
-			case RTE_MACVLAN_HASH_MATCH:
+			case I40E_MACVLAN_HASH_MATCH:
 				flags = I40E_AQC_MACVLAN_ADD_HASH_MATCH;
 				break;
 			default:
@@ -7065,18 +7065,18 @@  i40e_remove_macvlan_filters(struct i40e_vsi *vsi,
 				rte_cpu_to_le_16(filter[num + i].vlan_id);
 
 			switch (filter[num + i].filter_type) {
-			case RTE_MAC_PERFECT_MATCH:
+			case I40E_MAC_PERFECT_MATCH:
 				flags = I40E_AQC_MACVLAN_DEL_PERFECT_MATCH |
 					I40E_AQC_MACVLAN_DEL_IGNORE_VLAN;
 				break;
-			case RTE_MACVLAN_PERFECT_MATCH:
+			case I40E_MACVLAN_PERFECT_MATCH:
 				flags = I40E_AQC_MACVLAN_DEL_PERFECT_MATCH;
 				break;
-			case RTE_MAC_HASH_MATCH:
+			case I40E_MAC_HASH_MATCH:
 				flags = I40E_AQC_MACVLAN_DEL_HASH_MATCH |
 					I40E_AQC_MACVLAN_DEL_IGNORE_VLAN;
 				break;
-			case RTE_MACVLAN_HASH_MATCH:
+			case I40E_MACVLAN_HASH_MATCH:
 				flags = I40E_AQC_MACVLAN_DEL_HASH_MATCH;
 				break;
 			default:
@@ -7421,8 +7421,8 @@  i40e_vsi_add_mac(struct i40e_vsi *vsi, struct i40e_mac_filter_info *mac_filter)
 	f = i40e_find_mac_filter(vsi, &mac_filter->mac_addr);
 	if (f != NULL)
 		return I40E_SUCCESS;
-	if ((mac_filter->filter_type == RTE_MACVLAN_PERFECT_MATCH) ||
-		(mac_filter->filter_type == RTE_MACVLAN_HASH_MATCH)) {
+	if (mac_filter->filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+		mac_filter->filter_type == I40E_MACVLAN_HASH_MATCH) {
 
 		/**
 		 * If vlan_num is 0, that's the first time to add mac,
@@ -7433,8 +7433,8 @@  i40e_vsi_add_mac(struct i40e_vsi *vsi, struct i40e_mac_filter_info *mac_filter)
 			vsi->vlan_num = 1;
 		}
 		vlan_num = vsi->vlan_num;
-	} else if ((mac_filter->filter_type == RTE_MAC_PERFECT_MATCH) ||
-			(mac_filter->filter_type == RTE_MAC_HASH_MATCH))
+	} else if (mac_filter->filter_type == I40E_MAC_PERFECT_MATCH ||
+			mac_filter->filter_type == I40E_MAC_HASH_MATCH)
 		vlan_num = 1;
 
 	mv_f = rte_zmalloc("macvlan_data", vlan_num * sizeof(*mv_f), 0);
@@ -7449,8 +7449,8 @@  i40e_vsi_add_mac(struct i40e_vsi *vsi, struct i40e_mac_filter_info *mac_filter)
 				ETH_ADDR_LEN);
 	}
 
-	if (mac_filter->filter_type == RTE_MACVLAN_PERFECT_MATCH ||
-		mac_filter->filter_type == RTE_MACVLAN_HASH_MATCH) {
+	if (mac_filter->filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+		mac_filter->filter_type == I40E_MACVLAN_HASH_MATCH) {
 		ret = i40e_find_all_vlan_for_mac(vsi, mv_f, vlan_num,
 					&mac_filter->mac_addr);
 		if (ret != I40E_SUCCESS)
@@ -7487,7 +7487,7 @@  i40e_vsi_delete_mac(struct i40e_vsi *vsi, struct rte_ether_addr *addr)
 	struct i40e_mac_filter *f;
 	struct i40e_macvlan_filter *mv_f;
 	int i, vlan_num;
-	enum rte_mac_filter_type filter_type;
+	enum i40e_mac_filter_type filter_type;
 	int ret = I40E_SUCCESS;
 
 	/* Can't find it, return an error */
@@ -7497,14 +7497,14 @@  i40e_vsi_delete_mac(struct i40e_vsi *vsi, struct rte_ether_addr *addr)
 
 	vlan_num = vsi->vlan_num;
 	filter_type = f->mac_info.filter_type;
-	if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
-		filter_type == RTE_MACVLAN_HASH_MATCH) {
+	if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+		filter_type == I40E_MACVLAN_HASH_MATCH) {
 		if (vlan_num == 0) {
 			PMD_DRV_LOG(ERR, "VLAN number shouldn't be 0");
 			return I40E_ERR_PARAM;
 		}
-	} else if (filter_type == RTE_MAC_PERFECT_MATCH ||
-			filter_type == RTE_MAC_HASH_MATCH)
+	} else if (filter_type == I40E_MAC_PERFECT_MATCH ||
+			filter_type == I40E_MAC_HASH_MATCH)
 		vlan_num = 1;
 
 	mv_f = rte_zmalloc("macvlan_data", vlan_num * sizeof(*mv_f), 0);
@@ -7518,8 +7518,8 @@  i40e_vsi_delete_mac(struct i40e_vsi *vsi, struct rte_ether_addr *addr)
 		rte_memcpy(&mv_f[i].macaddr, &f->mac_info.mac_addr,
 				ETH_ADDR_LEN);
 	}
-	if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
-			filter_type == RTE_MACVLAN_HASH_MATCH) {
+	if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+			filter_type == I40E_MACVLAN_HASH_MATCH) {
 		ret = i40e_find_all_vlan_for_mac(vsi, mv_f, vlan_num, addr);
 		if (ret != I40E_SUCCESS)
 			goto DONE;
diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index 1466998aa1..458219c784 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -288,11 +288,22 @@  struct rte_flow {
 struct i40e_adapter;
 struct rte_pci_driver;
 
+/**
+ * MAC filter type
+ */
+enum i40e_mac_filter_type {
+	I40E_MAC_PERFECT_MATCH = 1, /**< exact match of MAC addr. */
+	I40E_MACVLAN_PERFECT_MATCH, /**< exact match of MAC addr and VLAN ID. */
+	I40E_MAC_HASH_MATCH, /**< hash match of MAC addr. */
+	/** hash match of MAC addr and exact match of VLAN ID. */
+	I40E_MACVLAN_HASH_MATCH,
+};
+
 /**
  * MAC filter structure
  */
 struct i40e_mac_filter_info {
-	enum rte_mac_filter_type filter_type;
+	enum i40e_mac_filter_type filter_type;
 	struct rte_ether_addr mac_addr;
 };
 
@@ -347,7 +358,7 @@  struct i40e_veb {
 /* i40e MACVLAN filter structure */
 struct i40e_macvlan_filter {
 	struct rte_ether_addr macaddr;
-	enum rte_mac_filter_type filter_type;
+	enum i40e_mac_filter_type filter_type;
 	uint16_t vlan_id;
 };
 
diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 03c2070c3f..65d649b627 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -844,7 +844,7 @@  i40e_pf_host_process_cmd_add_ether_address(struct i40e_pf_vf *vf,
 	for (i = 0; i < addr_list->num_elements; i++) {
 		mac = (struct rte_ether_addr *)(addr_list->list[i].addr);
 		rte_memcpy(&filter.mac_addr, mac, RTE_ETHER_ADDR_LEN);
-		filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+		filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 		if (rte_is_zero_ether_addr(mac) ||
 		    i40e_vsi_add_mac(vf->vsi, &filter)) {
 			ret = I40E_ERR_INVALID_MAC_ADDR;
diff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c
index 17938e7d30..790d042002 100644
--- a/drivers/net/i40e/rte_pmd_i40e.c
+++ b/drivers/net/i40e/rte_pmd_i40e.c
@@ -211,7 +211,7 @@  i40e_vsi_rm_mac_filter(struct i40e_vsi *vsi)
 	struct i40e_mac_filter *f;
 	struct i40e_macvlan_filter *mv_f;
 	int i, vlan_num;
-	enum rte_mac_filter_type filter_type;
+	enum i40e_mac_filter_type filter_type;
 	int ret = I40E_SUCCESS;
 	void *temp;
 
@@ -219,14 +219,14 @@  i40e_vsi_rm_mac_filter(struct i40e_vsi *vsi)
 	TAILQ_FOREACH_SAFE(f, &vsi->mac_list, next, temp) {
 		vlan_num = vsi->vlan_num;
 		filter_type = f->mac_info.filter_type;
-		if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
-		    filter_type == RTE_MACVLAN_HASH_MATCH) {
+		if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+		    filter_type == I40E_MACVLAN_HASH_MATCH) {
 			if (vlan_num == 0) {
 				PMD_DRV_LOG(ERR, "VLAN number shouldn't be 0");
 				return I40E_ERR_PARAM;
 			}
-		} else if (filter_type == RTE_MAC_PERFECT_MATCH ||
-			   filter_type == RTE_MAC_HASH_MATCH)
+		} else if (filter_type == I40E_MAC_PERFECT_MATCH ||
+			   filter_type == I40E_MAC_HASH_MATCH)
 			vlan_num = 1;
 
 		mv_f = rte_zmalloc("macvlan_data", vlan_num * sizeof(*mv_f), 0);
@@ -241,8 +241,8 @@  i40e_vsi_rm_mac_filter(struct i40e_vsi *vsi)
 					 &f->mac_info.mac_addr,
 					 ETH_ADDR_LEN);
 		}
-		if (filter_type == RTE_MACVLAN_PERFECT_MATCH ||
-		    filter_type == RTE_MACVLAN_HASH_MATCH) {
+		if (filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+		    filter_type == I40E_MACVLAN_HASH_MATCH) {
 			ret = i40e_find_all_vlan_for_mac(vsi, mv_f, vlan_num,
 							 &f->mac_info.mac_addr);
 			if (ret != I40E_SUCCESS) {
@@ -275,8 +275,8 @@  i40e_vsi_restore_mac_filter(struct i40e_vsi *vsi)
 
 	/* restore all the MACs */
 	TAILQ_FOREACH_SAFE(f, &vsi->mac_list, next, temp) {
-		if ((f->mac_info.filter_type == RTE_MACVLAN_PERFECT_MATCH) ||
-		    (f->mac_info.filter_type == RTE_MACVLAN_HASH_MATCH)) {
+		if (f->mac_info.filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+		    f->mac_info.filter_type == I40E_MACVLAN_HASH_MATCH) {
 			/**
 			 * If vlan_num is 0, that's the first time to add mac,
 			 * set mask for vlan_id 0.
@@ -286,8 +286,8 @@  i40e_vsi_restore_mac_filter(struct i40e_vsi *vsi)
 				vsi->vlan_num = 1;
 			}
 			vlan_num = vsi->vlan_num;
-		} else if ((f->mac_info.filter_type == RTE_MAC_PERFECT_MATCH) ||
-			   (f->mac_info.filter_type == RTE_MAC_HASH_MATCH))
+		} else if (f->mac_info.filter_type == I40E_MAC_PERFECT_MATCH ||
+			   f->mac_info.filter_type == I40E_MAC_HASH_MATCH)
 			vlan_num = 1;
 
 		mv_f = rte_zmalloc("macvlan_data", vlan_num * sizeof(*mv_f), 0);
@@ -303,8 +303,8 @@  i40e_vsi_restore_mac_filter(struct i40e_vsi *vsi)
 					 ETH_ADDR_LEN);
 		}
 
-		if (f->mac_info.filter_type == RTE_MACVLAN_PERFECT_MATCH ||
-		    f->mac_info.filter_type == RTE_MACVLAN_HASH_MATCH) {
+		if (f->mac_info.filter_type == I40E_MACVLAN_PERFECT_MATCH ||
+		    f->mac_info.filter_type == I40E_MACVLAN_HASH_MATCH) {
 			ret = i40e_find_all_vlan_for_mac(vsi, mv_f, vlan_num,
 							 &f->mac_info.mac_addr);
 			if (ret != I40E_SUCCESS) {
@@ -768,7 +768,7 @@  int rte_pmd_i40e_set_vf_broadcast(uint16_t port, uint16_t vf_id,
 
 	if (on) {
 		rte_memcpy(&filter.mac_addr, &broadcast, RTE_ETHER_ADDR_LEN);
-		filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+		filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 		ret = i40e_vsi_add_mac(vsi, &filter);
 	} else {
 		ret = i40e_vsi_delete_mac(vsi, &broadcast);
@@ -2388,7 +2388,7 @@  rte_pmd_i40e_add_vf_mac_addr(uint16_t port, uint16_t vf_id,
 		return -EINVAL;
 	}
 
-	mac_filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+	mac_filter.filter_type = I40E_MACVLAN_PERFECT_MATCH;
 	rte_ether_addr_copy(mac_addr, &mac_filter.mac_addr);
 	ret = i40e_vsi_add_mac(vsi, &mac_filter);
 	if (ret != I40E_SUCCESS) {
diff --git a/lib/librte_ethdev/rte_eth_ctrl.h b/lib/librte_ethdev/rte_eth_ctrl.h
index bbb94eccce..a3d49e0913 100644
--- a/lib/librte_ethdev/rte_eth_ctrl.h
+++ b/lib/librte_ethdev/rte_eth_ctrl.h
@@ -56,17 +56,6 @@  enum rte_filter_op {
 	RTE_ETH_FILTER_OP_MAX
 };
 
-/**
- * MAC filter type
- */
-enum rte_mac_filter_type {
-	RTE_MAC_PERFECT_MATCH = 1, /**< exact match of MAC addr. */
-	RTE_MACVLAN_PERFECT_MATCH, /**< exact match of MAC addr and VLAN ID. */
-	RTE_MAC_HASH_MATCH, /**< hash match of MAC addr. */
-	/** hash match of MAC addr and exact match of VLAN ID. */
-	RTE_MACVLAN_HASH_MATCH,
-};
-
 /**
  * Define all structures for Ethertype Filter type.
  */