From patchwork Thu Mar 14 12:27:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liang Zhang X-Patchwork-Id: 51180 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F17AC3572; Thu, 14 Mar 2019 13:27:36 +0100 (CET) Received: from yy.com (unknown [183.36.123.141]) by dpdk.org (Postfix) with ESMTP id 5A38E11C5 for ; Thu, 14 Mar 2019 13:27:35 +0100 (CET) Received: from bigo.sg (unknown [14.29.89.90]) by centos (Coremail) with SMTP id AQAAfwCH57SuSIpc_u8uAA--.6120S2; Thu, 14 Mar 2019 20:27:26 +0800 (CST) Received: from ubuntu.bigo.local (unknown [58.248.226.7]) by coremail_mail (Coremail) with SMTP id WlkdDgB3fXl_SYpcAORhAA--.0S2; Thu, 14 Mar 2019 20:30:59 +0800 (CST) From: Liang Zhang To: dev@dpdk.org Cc: Liang Zhang Date: Thu, 14 Mar 2019 20:27:21 +0800 Message-Id: <1552566441-14658-1-git-send-email-zhangliang@bigo.sg> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: X-CM-TRANSID: AQAAfwCH57SuSIpc_u8uAA--.6120S2 Authentication-Results: centos; spf=neutral smtp.mail=zhangliang@bigo. sg; X-Coremail-Antispam: 1UD129KBjvJXoW7tw4DWFW3Aw1UCr4UtF4rGrg_yoW8Cw45pF WDCw43Ww1kJa15Z3WxCay8Cr1Uur1xA3W2gFyrAas09Fn0vFyxWw1jqFWjvFWjkrWj9Fsr Ar4FkwsI9ayUCrDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU8nxnvy2 9KBjDU0xBIdaVrnUUvcSsGvfC2KfnxnUUI43ZEXa7xR_UUUUUUUUU== X-CM-SenderInfo: x2kd0wxold0w2s6exwnrovw/ Subject: [dpdk-dev] [PATCH v2] bonding: change mac_addr filled position X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" When mac_address update in bond_mode_8023ad_mac_address_update, bonding port's mac_addr should update also. Signed-off-by: Liang Zhang --- drivers/net/bonding/rte_eth_bond_8023ad.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c index e518956..dac23ac 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c @@ -791,8 +791,11 @@ rx_machine_update(struct bond_dev_private *internals, uint8_t slave_id, RTE_ASSERT(lacp->lacpdu.subtype == SLOW_SUBTYPE_LACP); partner = &lacp->lacpdu.partner; - if (is_same_ether_addr(&partner->port_params.system, &internals->mode4.mac_addr)) { - /* This is LACP frame to the bonding port so pass it to rx_machine */ + if (is_same_ether_addr(&partner->port_params.system, + &internals->mode4.mac_addr)) { + /* This LACP frame is sending to the bonding port + * so pass it to rx_machine. + */ rx_machine(internals, slave_id, &lacp->lacpdu); } rte_pktmbuf_free(lacp_pkt); @@ -1144,7 +1147,6 @@ bond_mode_8023ad_setup(struct rte_eth_dev *dev, bond_mode_8023ad_conf_assign(mode4, conf); mode4->slowrx_cb = conf->slowrx_cb; mode4->agg_selection = AGG_STABLE; - rte_eth_macaddr_get(internals->port_id, &mode4->mac_addr); if (dev->data->dev_started) bond_mode_8023ad_start(dev); @@ -1170,6 +1172,7 @@ bond_mode_8023ad_start(struct rte_eth_dev *bond_dev) struct mode8023ad_private *mode4 = &internals->mode4; static const uint64_t us = BOND_MODE_8023AX_UPDATE_TIMEOUT_MS * 1000; + rte_eth_macaddr_get(internals->port_id, &mode4->mac_addr); if (mode4->slowrx_cb) return rte_eal_alarm_set(us, &bond_mode_8023ad_ext_periodic_cb, bond_dev);