> On Mon, 18 Jun 2018 15:27:16 +0300
> Alex Kiselev <a...@therouter.net> wrote:

>> +/*
>> + * Remove additional MAC addresses from the slave
>> + */
>> +int
>> +slave_remove_mac_addresses(struct rte_eth_dev *bonded_eth_dev,
>> +             uint16_t slave_port_id)
>> +{
>> +     int i, ret;
>> +     struct ether_addr *mac_addr;
>> +
>> +     /* add additional MACs to the slave */
>> +     for (i = 1; i < BOND_MAX_MAC_ADDRS; i++) {
>> +             mac_addr = &bonded_eth_dev->data->mac_addrs[i];
>> +             if (is_same_ether_addr(mac_addr, &null_mac_addr))
>> +                     break;
>> +
>> +             ret = rte_eth_dev_mac_addr_remove(slave_port_id, mac_addr);
>> +             if (ret < 0)
>> +                     return ret;
>> +     }

> Not sure this is the best semantic if remove fails on one of many
> slaves. Perhaps it should always remove it from all slaves.

> Or maybe a first pass to see if the address exists, then
> a no-fail removal pass.

I think to always remove is the right thing.
Done in the patch v3

-- 
Alex

Reply via email to