> -----Original Message----- > From: Andrew Rybchenko <arybche...@solarflare.com> > Sent: Sunday, October 18, 2020 10:09 PM > To: Xing, Beilei <beilei.x...@intel.com>; Guo, Jia <jia....@intel.com>; > Thomas Monjalon <tho...@monjalon.net>; Yigit, Ferruh > <ferruh.yi...@intel.com>; Andrew Rybchenko > <andrew.rybche...@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 <arybche...@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