From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id 99480239 for ; Tue, 24 Jul 2018 18:08:24 +0200 (CEST) Received: by mail-wr1-f68.google.com with SMTP id b15-v6so4684678wrv.10 for ; Tue, 24 Jul 2018 09:08:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=+RzBo0mRRsVHMwKbpmqBT9DtTPx2DEBWNO78o/KArNM=; b=A8+JNz5Dok5H6QlWA6RWhTpuAsnC+lrsZ6/opsuLNTAglqQ6TGCgsL0u3W/WzE6qVh ijGpsybSKxsAPJcCqbC46RWtAon8Q6E5Kd6o4HuKCtQ5DguLSdem9b8/ZdyuzfD8vQv0 D1PG9dZ21OdQdfzRId07hgYFWvQfFOOcz14zUDPvMblTSYD9XZ1nSFmLsQx9FLe4fB2P Ht/J2xJya4gRYf4CsRHX4c9IiYMp4FjTcPjOWHhsdq1l7UI9OW2LZhfQWFQGAuC3cxYy k83vpKllPM/Z2Vmr5zTXGzij805GA+3rrom8Go5/WL+PoYfNaAraOtJC1M3ozTGTLZY+ jyUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=+RzBo0mRRsVHMwKbpmqBT9DtTPx2DEBWNO78o/KArNM=; b=LvU8EqbT2/w0kEZyqzDkz8346pFCZ8GSybFFXcZWKQZzH0T9kUTZrheeNGwmfCpugB Lp70lLoL/6dwhYv0WG9sATcIysmZCkybt6iFdquua0v0j2rRdnkWKeQJR6o3Wjg1GF7S KR8h5Es1B4IEEBO6HdRJ4dIKoICpasWW/rrDv74Xpc3WwgQUdB5SFia+rwH/zPBttxEO JqNOhTsIzkXXY7CRWicolsEbJlQQ4CPZt9a2FAWMV/5vsuU5DJCl4IU6yqg0O39XdWnQ 8v98Aq1eIwXNQRRCx7MU+Wow3G2XjcVjAVuyBCD4RSNJT605v4MNrRMLWW8ljNwEvrF3 RHOw== X-Gm-Message-State: AOUpUlEgA2pZIinuj77coLGNUIOf0JcoFlQVUKheXNA2cPUuoO3YP4fQ BBo1a9HYj/gapr4MMJrA2/+3gi2x1NM= X-Google-Smtp-Source: AAOMgperAk8B9AvH6wdjvwwqYxg8t1m+sndOCPI1BldpicrT+LAYLQNcgCaaSeP8Zid1GtQuR7+GkQ== X-Received: by 2002:adf:c383:: with SMTP id p3-v6mr12198791wrf.68.1532448504379; Tue, 24 Jul 2018 09:08:24 -0700 (PDT) Received: from localhost ([2a00:23c5:be94:4600:7b12:f8a0:fd52:f87d]) by smtp.gmail.com with ESMTPSA id 31-v6sm18505820wra.26.2018.07.24.09.08.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 24 Jul 2018 09:08:23 -0700 (PDT) From: luca.boccassi@gmail.com To: Kiran Kumar Cc: dpdk stable Date: Tue, 24 Jul 2018 17:07:24 +0100 Message-Id: <20180724160752.20287-6-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180724160752.20287-1-luca.boccassi@gmail.com> References: <20180724160752.20287-1-luca.boccassi@gmail.com> Subject: [dpdk-stable] patch 'net/bonding: fix MAC address reset' has been queued to LTS release 16.11.8 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2018 16:08:24 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/26/18. So please shout if anyone has objections. Thanks. Luca Boccassi --- >>From 66b2caa33cda07f5593bec4f59d16990be638d3b Mon Sep 17 00:00:00 2001 From: Kiran Kumar Date: Wed, 23 May 2018 14:41:21 +0530 Subject: [PATCH] net/bonding: fix MAC address reset [ upstream commit fb6eb1e69c499feb5f36193b906c910553835cc6 ] Currently when resetting bond mac address, we are getting the persisted mac address from slave info considering primary port as index. But we need to compare the port id from slave info with the primary port to get the primary slave index and get the persisted mac address. Without this fix, persisted mac addr will be zero and rte_eth_dev_default_mac_addr_set will fail. Fixes: a45b288ef21a ("bond: support link status polling") Signed-off-by: Kiran Kumar --- drivers/net/bonding/rte_eth_bond_api.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c index 7bb2fe1ec..fa6f9582d 100644 --- a/drivers/net/bonding/rte_eth_bond_api.c +++ b/drivers/net/bonding/rte_eth_bond_api.c @@ -780,9 +780,21 @@ rte_eth_bond_mac_address_reset(uint8_t bonded_port_id) internals->user_defined_mac = 0; if (internals->slave_count > 0) { + int slave_port; + /* Get the primary slave location based on the primary port + * number as, while slave_add(), we will keep the primary + * slave based on slave_count,but not based on the primary port. + */ + for (slave_port = 0; slave_port < internals->slave_count; + slave_port++) { + if (internals->slaves[slave_port].port_id == + internals->primary_port) + break; + } + /* Set MAC Address of Bonded Device */ if (mac_address_set(bonded_eth_dev, - &internals->slaves[internals->primary_port].persisted_mac_addr) + &internals->slaves[slave_port].persisted_mac_addr) != 0) { RTE_BOND_LOG(ERR, "Failed to set MAC address on bonded device"); return -1; -- 2.18.0