Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Jun 2015 08:03:12 -0700
From:      Sean Bruno <sbruno@ignoranthack.me>
To:        freebsd-net@freebsd.org
Cc:        pushkar.kothavade@msystechnologies.com
Subject:   Re: Lagg-LACP is not working with Intel Fortville NIC on FreeBSD HOL (11.0 Current)
Message-ID:  <558D69B0.6080501@ignoranthack.me>
In-Reply-To: <558D3DC0.8020703@msystechnologies.com>
References:  <557FD197.1020805@msystechnologies.com> <5582659F.6060900@msystechnologies.com> <558D3DC0.8020703@msystechnologies.com>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 06/26/15 04:55, Pushkar Kothavade wrote:
> Dear Members,
> 
> To further narrow down the problem, I am evaluating single ixl
> link (Intel Fortville NIC) on FreeBSD platform. Single ixl link is
> _NOT_ a part of Lagg.
> 
> *Issue*
> 
> Change in MAC address on a ixl (Intel Fortville NIC) link does not 
> reflect on NIC. Ping stops working after change in MAC address.
> Ping works, if PROMISC mode is set.
> 
> *Steps to reproduce the problem*
> 
> _/*# ifconfig ixl1*/_
> 
> ixl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0
> mtu 9000
> 
> options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HW
CSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
>
> 
> 
> ether 68:05:ca:35:97:29
> 
> nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> 
> media: Ethernet autoselect (10Gbase-Twinax <full-duplex>)
> 
> status: active
> 
> _# ping XYZ/*/* */*/_Ping Works_/*/* */*/_ _/*# ifconfig ixl1 ether
> 58:04:89:12:34:56 */_Assign new MAC to the link.
> 
> _# ping XYZ/*/* */*/_Ping does _NOT_ Work
> 
> *Bug Analysis*
> 
> While working on this issue, I found bug in the code. Refer
> 'ixl_init_locked(struct ixl_pf *pf) function' present in 
> 'dev/ixl/if_ixl.c' file.
> 
> 1080         /* Get the latest mac address... User might use a LAA
> */ 1081         bcopy(IF_LLADDR(vsi->ifp), tmpaddr, 1082
> I40E_ETH_LENGTH_OF_ADDRESS); * 1083         if
> (!cmp_etheraddr(hw->mac.addr, tmpaddr) && ** ** 1084
> i40e_validate_mac_addr(tmpaddr)) {* 1085
> bcopy(tmpaddr, hw->mac.addr, 1086
> I40E_ETH_LENGTH_OF_ADDRESS); 1087                 ret =
> i40e_aq_mac_address_write(hw, 1088
> I40E_AQC_WRITE_TYPE_LAA_ONLY, 1089
> hw->mac.addr, NULL); 1090                 if (ret) { 1091
> device_printf(dev, "LLA address" 1092
> "change failed!!\n"); 1093                         return; 1094
> } 1095         }
> 
> Refer lines 1083 & 1084 - '*i40e_validate_mac_addr(tmpaddr)*'
> function returns 0 on success. Therefore
> 'i40e_aq_mac_address_write()' function is not getting called.
> 
> Bug Fix is as Follows -
> 
> if (!cmp_etheraddr(hw->mac.addr, tmpaddr) && 
> i40e_validate_mac_addr(tmpaddr) *== I40E_SUCCESS*)
> 
> After this fix,  'i40e_aq_mac_address_write()' function is getting
> called.
> 
> *Conclusion*
> 
> This 'bug fix' could not resolve the Ping issue.
> 
> Appreciate your views on this matter.
> 
> Thanks, Pushkar Kothavade
> 
> 
> 
> On Thursday 18 June 2015 12:00 PM, Pushkar Kothavade wrote:
>> Dear Members,
>> 
>> I am part of Panasas. I am evaluating 'Lagg-LACP performance and 
>> robustness' over Intel Fortville NIC (IXL) on Intel Taylor Pass 
>> platform with FreeBSD-HOL [11-CURRENT] installed. Lagg-LACP
>> feature works fine (with satisfactory performance) when
>> Promiscuous mode is enabled on the Lagg. If Promiscuous mode is
>> disabled, in that case even basic Lagg functionality does not
>> work.
>> 
>> *Setup Information : *
>> 
>> - Machine (Intel Taylor Pass) is running FreeBSD-HOL (11
>> current) - Machine has 'Intel Fortville NIC (Intel Ethernet
>> Controller XL710)' installed with special firmware to support
>> four 10Gbps ports with breakout cable - Breakout cable is used
>> with one of the 40GB ports which creates four 10GB ports - All
>> four 10Gbps ports are connected to Dell Force 10 Switch -
>> Lagg-LACP has been configured on all four 10GB ports of the
>> Machine and on Switch ports as well
>> 
>> *Problem Statement :*
>> 
>> # When machine sends an Arp-request then interface does not
>> receive Arp-reply - Arp request sent by the machine is
>> successful - Switch is able to get Arp broadcast request sent by
>> the machine - Switch sends back unicast Arp-reply to machine -
>> But still driver does not receive Arp-reply
>> 
>> # Even after adding static Arp entry in machine's Arp table, ping
>> fails
>> 
>> # Configured same MAC address on all 4 interfaces which are part
>> of Lagg, still ping fails Is there any problem with MAC filtering
>> ?
>> 
>> *Workaround : *
>> 
>> - After putting Lagg interface in promiscuous mode, network
>> interface seems to work properly.
>> 
>> *Platform Information :*
>> 
>> Machine - Intel Taylor Pass server board OS - FreeBSD HOL (11.0
>> Current) NIC - Intel Fortville NIC (Intel Ethernet Controller
>> XL710) - Find more information as below Switch - Dell Force 10
>> Switch
>> 
>> <Snip> ixl0: <Intel(R) Ethernet Connection XL710 Driver, Version
>> - 1.4.1> mem 
>> 0x383ffe800000-0x383ffeffffff,0x383fff818000-0x383fff81ffff irq
>> 42 at device 0.0 on pci4 ixl0: Using MSIX interrupts with 13
>> vectors ixl0: f4.33 a1.2 n04.42 e80001935 ixl0: Ethernet address:
>> 68:05:ca:35:97:28 ixl0: PCI Express Bus: Speed 8.0GT/s Width x8 
>> ixl1: <Intel(R) Ethernet Connection XL710 Driver, Version -
>> 1.4.1> mem 
>> 0x383ffe000000-0x383ffe7fffff,0x383fff810000-0x383fff817fff irq
>> 42 at device 0.1 on pci4 ixl1: Using MSIX interrupts with 13
>> vectors ixl1: f4.33 a1.2 n04.42 e80001935 ixl1: Ethernet address:
>> 68:05:ca:35:97:29 ixl1: PCI Express Bus: Speed 8.0GT/s Width x8 
>> ixl2: <Intel(R) Ethernet Connection XL710 Driver, Version -
>> 1.4.1> mem 
>> 0x383ffd800000-0x383ffdffffff,0x383fff808000-0x383fff80ffff irq
>> 42 at device 0.2 on pci4 ixl2: Using MSIX interrupts with 13
>> vectors ixl2: f4.33 a1.2 n04.42 e80001935 ixl2: Ethernet address:
>> 68:05:ca:35:97:2a ixl2: PCI Express Bus: Speed 8.0GT/s Width x8 
>> ixl3: <Intel(R) Ethernet Connection XL710 Driver, Version -
>> 1.4.1> mem 
>> 0x383ffd000000-0x383ffd7fffff,0x383fff800000-0x383fff807fff irq
>> 42 at device 0.3 on pci4 ixl3: Using MSIX interrupts with 13
>> vectors ixl3: f4.33 a1.2 n04.42 e80001935 ixl3: Ethernet address:
>> 68:05:ca:35:97:2b ixl3: PCI Express Bus: Speed 8.0GT/s Width x8 
>> acpi0: Power Button (fixed) ixl0: <Intel(R) Ethernet Connection
>> XL710 Driver, Version - 1.4.1> mem 
>> 0x383ffe800000-0x383ffeffffff,0x383fff818000-0x383fff81ffff irq
>> 42 at device 0.0 on pci4 ixl0: Using MSIX interrupts with 13
>> vectors ixl0: f4.33 a1.2 n04.42 e80001935 ixl0: Ethernet address:
>> 68:05:ca:35:97:28 ixl0: PCI Express Bus: Speed 8.0GT/s Width x8 
>> ixl1: <Intel(R) Ethernet Connection XL710 Driver, Version -
>> 1.4.1> mem 
>> 0x383ffe000000-0x383ffe7fffff,0x383fff810000-0x383fff817fff irq
>> 42 at device 0.1 on pci4 ixl1: Using MSIX interrupts with 13
>> vectors ixl1: f4.33 a1.2 n04.42 e80001935 ixl1: Ethernet address:
>> 68:05:ca:35:97:29 ixl1: PCI Express Bus: Speed 8.0GT/s Width x8 
>> ixl2: <Intel(R) Ethernet Connection XL710 Driver, Version -
>> 1.4.1> mem 
>> 0x383ffd800000-0x383ffdffffff,0x383fff808000-0x383fff80ffff irq
>> 42 at device 0.2 on pci4 ixl2: Using MSIX interrupts with 13
>> vectors ixl2: f4.33 a1.2 n04.42 e80001935 ixl2: Ethernet address:
>> 68:05:ca:35:97:2a ixl2: PCI Express Bus: Speed 8.0GT/s Width x8 
>> ixl3: <Intel(R) Ethernet Connection XL710 Driver, Version -
>> 1.4.1> mem 
>> 0x383ffd000000-0x383ffd7fffff,0x383fff800000-0x383fff807fff irq
>> 42 at device 0.3 on pci4 ixl3: Using MSIX interrupts with 13
>> vectors ixl3: f4.33 a1.2 n04.42 e80001935 ixl3: Ethernet address:
>> 68:05:ca:35:97:2b ixl3: PCI Express Bus: Speed 8.0GT/s Width x8 
>> <Snip>
>> 
>> Thanks, Pushkar Kothavade
>> 
>> 
>> 
> 
> _______________________________________________ 
> freebsd-net@freebsd.org mailing list 
> http://lists.freebsd.org/mailman/listinfo/freebsd-net To
> unsubscribe, send any mail to
> "freebsd-net-unsubscribe@freebsd.org"
> 
> 

If you haven't yet, please get all this into a bugzilla ticket so we
can track it and its resolution:

https://bugs.freebsd.org/bugzilla

sean
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQF8BAEBCgBmBQJVjWmwXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCQUFENDYzMkU3MTIxREU4RDIwOTk3REQx
MjAxRUZDQTFFNzI3RTY0AAoJEBIB78oecn5k1OAIAMik4hkS40huHSUL9MiR8FWT
O7qwbZeWjvz5IqLad/zNQe52W1BzJjov6IH/ZJ8AxWB5sFfNmvh0f7lHn3yeH6yV
4mTTWzYS+2tWWSjQBcd1yf4GLEP2iVS9VVpAwxdH3qWcoQFOipY+2Mm/0YECewtH
e3KMd2B4eK0LxqmoY3W+EVZnRaXY/h4ThTG1f/ak9DX6vSqj5OJYtZM7TSNBULCy
kfh5YZFndHDQSZMJlAVbLv1lI0d7Ou8MxFCRs7lwyLfNvdP9Fr87nm1MNo0pFGkI
PT5S/hUIKDibcMOmBtZ+OlDAh3yFta6Hl6KS+DYwB0R4SarifxDvFCpur/RAsqE=
=9xdZ
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?558D69B0.6080501>