net/hns3: remove redundant multicast MAC interface
This patch removes hns3_add_mc_addr_common() in PF and hns3vf_add_mc_addr_common() in VF. Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
This commit is contained in:
parent
3d491e5531
commit
05812092a5
@ -1632,25 +1632,6 @@ hns3_find_duplicate_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mc_addr)
|
||||
return false;
|
||||
}
|
||||
|
||||
static int
|
||||
hns3_add_mc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
|
||||
{
|
||||
char mac_str[RTE_ETHER_ADDR_FMT_SIZE];
|
||||
int ret;
|
||||
|
||||
if (hns3_find_duplicate_mc_addr(hw, mac_addr))
|
||||
return -EINVAL;
|
||||
|
||||
ret = hns3_add_mc_mac_addr(hw, mac_addr);
|
||||
if (ret) {
|
||||
hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE,
|
||||
mac_addr);
|
||||
hns3_err(hw, "failed to add mc mac addr(%s), ret = %d",
|
||||
mac_str, ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
hns3_remove_mc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
|
||||
{
|
||||
@ -1686,11 +1667,15 @@ hns3_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr,
|
||||
* using the rte_eth_dev_mac_addr_add API function to set MC mac address
|
||||
* may affect the specifications of UC mac addresses.
|
||||
*/
|
||||
if (rte_is_multicast_ether_addr(mac_addr))
|
||||
ret = hns3_add_mc_addr_common(hw, mac_addr);
|
||||
else
|
||||
if (rte_is_multicast_ether_addr(mac_addr)) {
|
||||
if (hns3_find_duplicate_mc_addr(hw, mac_addr)) {
|
||||
rte_spinlock_unlock(&hw->lock);
|
||||
return -EINVAL;
|
||||
}
|
||||
ret = hns3_add_mc_mac_addr(hw, mac_addr);
|
||||
} else {
|
||||
ret = hns3_add_uc_mac_addr(hw, mac_addr);
|
||||
|
||||
}
|
||||
if (ret) {
|
||||
rte_spinlock_unlock(&hw->lock);
|
||||
hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE,
|
||||
|
@ -204,25 +204,6 @@ hns3vf_remove_uc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
hns3vf_add_mc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
|
||||
{
|
||||
char mac_str[RTE_ETHER_ADDR_FMT_SIZE];
|
||||
int ret;
|
||||
|
||||
if (hns3_find_duplicate_mc_addr(hw, mac_addr))
|
||||
return -EINVAL;
|
||||
|
||||
ret = hns3vf_add_mc_mac_addr(hw, mac_addr);
|
||||
if (ret) {
|
||||
hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE,
|
||||
mac_addr);
|
||||
hns3_err(hw, "failed to add mc mac addr(%s), ret = %d",
|
||||
mac_str, ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
hns3vf_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr,
|
||||
__rte_unused uint32_t idx,
|
||||
@ -243,10 +224,15 @@ hns3vf_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr,
|
||||
* using the rte_eth_dev_mac_addr_add API function to set MC mac address
|
||||
* may affect the specifications of UC mac addresses.
|
||||
*/
|
||||
if (rte_is_multicast_ether_addr(mac_addr))
|
||||
ret = hns3vf_add_mc_addr_common(hw, mac_addr);
|
||||
else
|
||||
if (rte_is_multicast_ether_addr(mac_addr)) {
|
||||
if (hns3_find_duplicate_mc_addr(hw, mac_addr)) {
|
||||
rte_spinlock_unlock(&hw->lock);
|
||||
return -EINVAL;
|
||||
}
|
||||
ret = hns3vf_add_mc_mac_addr(hw, mac_addr);
|
||||
} else {
|
||||
ret = hns3vf_add_uc_mac_addr(hw, mac_addr);
|
||||
}
|
||||
|
||||
rte_spinlock_unlock(&hw->lock);
|
||||
if (ret) {
|
||||
|
Loading…
Reference in New Issue
Block a user