[dpdk-dev] [PATCH v2] net/bonding: add add/remove mac addrs
Stephen Hemminger
stephen at networkplumber.org
Mon Jun 18 20:58:33 CEST 2018
On Mon, 18 Jun 2018 15:27:16 +0300
Alex Kiselev <alex at therouter.net> wrote:
> +static const struct ether_addr null_mac_addr;
> +
> +/*
> + * Add additional MAC addresses to the slave
> + */
> +int
> +slave_add_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_add(slave_port_id, mac_addr, 0);
> + if (ret < 0)
> + return ret;
> + }
> +
> + return 0;
You need to unwind if adding MAC address to one of the slave devices
worked, and the second one did not.
More information about the dev
mailing list