From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.sandvine.com (Mail1.sandvine.com [64.7.137.134]) by dpdk.org (Postfix) with ESMTP id BB342106A; Fri, 12 May 2017 16:31:47 +0200 (CEST) Received: from WTL-EXCHP-1.sandvine.com ([fe80::ac6b:cc1e:f2ff:93aa]) by wtl-exchp-2.sandvine.com ([::1]) with mapi id 14.03.0319.002; Fri, 12 May 2017 10:31:46 -0400 From: Kyle Larose To: "users@dpdk.org" , "dev@dpdk.org" CC: "declan.doherty@intel.com" Thread-Topic: active_backup link bonding and mac address Thread-Index: AdLKl+lTdaKL846iTkOMdEwptCqlSgAhw/1A Date: Fri, 12 May 2017 14:31:45 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.200.51] x-c2processedorg: b2f06e69-072f-40ee-90c5-80a34e700794 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] active_backup link bonding and mac address 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: , X-List-Received-Date: Fri, 12 May 2017 14:31:48 -0000 I'm adding the dev mailing list/link bonding maintainer, because I've done = some more investigation and I'm beginning to think something is wrong. > -----Original Message----- > From: Kyle Larose > Sent: Thursday, May 11, 2017 4:55 PM > To: users@dpdk.org > Subject: active_backup link bonding and mac address >=20 > Hey fellow DPDK users, >=20 > I have a question about the link bond pmd. >=20 > I am running 4 X710 interfaces in a link bond pmd for my application. In > LACP mode, everything works fine. But, in active_backup mode, if the prim= ary > link fails, my application stops working. The reason is that I'm still > sending packets with the original MAC address of the link bond pmd, which= is > that of the original primary slave. However, the new primary is not in > promiscuous mode, so traffic coming back with that MAC address drops. >=20 > What should I be doing here: >=20 > 1) Should I be listening for the changes in the state of the primary, and > updating the MAC address I use to send? (I have it cached for efficiency) > 2) Should the driver be placing the interface into promiscuous mode to al= low > for this, similar to what LACP does? > 3) Should the driver be overwriting the MAC on egress, similar to what th= e > tlb driver seems to do (in bond_ethdev_tx_burst_tlb) >=20 > I'm fine with #1, but it seems to break the goal of having the link bond = pmd > be transparent to the application. >=20 I checked the mac address of the link bond interface after the failover, an= d it did not change. It still had the MAC address of the first slave that was added. This seems = incompatible with solution number 1 that I suggested above, which means either it the link bo= nd device should update its address, or it should be promiscuous at the slave level. FWIW, I'm using 16.07. I have reproduced this on testpmd by looking at port= state. (with some fiddling -- needed to prevent it from starting the slave interfaces, and tu= rn off its default promiscuous mode.) Does anyone have any input on this problem? Thanks, Kyle