Sure enough, that did the trick!
Now, the next question is, why do I need to do that on i40e when I don't on 
e1000?  I don't see the BPDU maddr present in the 'ip mroute' or 'bridge fdb' 
output on the e1000 side of the link, which works by default.
e1000 side of the link - 00:21:28:f9:09:5d
[root@pilot1 ~]# ip maddr show dev eth23:      eth2        link  
33:33:00:00:00:01        link  01:00:5e:00:00:01        link  33:33:ff:f9:09:5d 
       inet  224.0.0.1        inet6 ff02::1:fff9:95d        inet6 ff02::1
[root@pilot1 ~]# bridge fdb33:33:00:00:00:01 dev eth1 self 
permanent01:00:5e:00:00:01 dev eth1 self permanent33:33:ff:f9:09:5c dev eth1 
self permanent33:33:00:00:00:01 dev eth2 self permanent01:00:5e:00:00:01 dev 
eth2 self permanent33:33:ff:f9:09:5d dev eth2 self permanent33:33:00:00:00:01 
dev eth3 self permanent01:00:5e:00:00:01 dev eth3 self 
permanent33:33:ff:f9:09:5e dev eth3 self permanent33:33:00:00:00:01 dev eth0 
self permanent01:00:5e:00:00:01 dev eth0 self permanent33:33:ff:f9:09:5f dev 
eth0 self permanent00:10:e0:65:2c:ae dev eth100:10:e0:65:2e:64 dev 
eth200:21:28:f9:09:5c dev eth1 permanent00:10:e0:65:2e:65 dev 
eth200:21:28:f9:09:5d dev eth2 permanent00:21:28:f9:09:2c dev eth1


i40e side of the link - 00:10:e0:65:2e:65 - after manually adding with ip maddr
WNFFFFFFFFFFFFFFEE # ip maddr show dev eth112:     eth1        link  
01:00:5e:00:00:01        link  33:33:00:00:02:02        link  33:33:00:00:00:01 
       link  33:33:ff:65:2e:65        link  00:00:00:00:00:00 static        
link  01:80:c2:00:00:00 static        inet  224.0.0.1        inet6 
ff02::1:ff65:2e65        inet6 ff02::202        inet6 ff02::1

WNFFFFFFFFFFFFFFEE # bridge fdb00:10:e0:65:2e:64 dev eth0 
permanent00:10:e0:65:2e:65 dev eth1 permanent00:21:28:f9:09:2c dev 
eth100:10:e0:65:2c:ae dev eth100:21:28:f9:09:5c dev eth100:21:28:f9:09:5d dev 
eth1



 
      From: "Rose, Gregory V" <gregory.v.r...@intel.com>
 To: Maule Mark <mark_ma...@yahoo.com>; "e1000-devel@lists.sourceforge.net" 
<e1000-devel@lists.sourceforge.net> 
 Sent: Thursday, April 30, 2015 11:33 AM
 Subject: RE: [E1000-devel] i40e and RSTP
   
#yiv0823098310 #yiv0823098310 -- _filtered #yiv0823098310 
{font-family:Helvetica;panose-1:2 11 6 4 2 2 2 2 2 4;} _filtered #yiv0823098310 
{font-family:Wingdings;panose-1:5 0 0 0 0 0 0 0 0 0;} _filtered #yiv0823098310 
{panose-1:2 4 5 3 5 4 6 3 2 4;} _filtered #yiv0823098310 
{font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}#yiv0823098310 
#yiv0823098310 p.yiv0823098310MsoNormal, #yiv0823098310 
li.yiv0823098310MsoNormal, #yiv0823098310 div.yiv0823098310MsoNormal 
{margin:0in;margin-bottom:.0001pt;font-size:12.0pt;}#yiv0823098310 a:link, 
#yiv0823098310 span.yiv0823098310MsoHyperlink 
{color:blue;text-decoration:underline;}#yiv0823098310 a:visited, #yiv0823098310 
span.yiv0823098310MsoHyperlinkFollowed 
{color:purple;text-decoration:underline;}#yiv0823098310 
p.yiv0823098310MsoListParagraph, #yiv0823098310 
li.yiv0823098310MsoListParagraph, #yiv0823098310 
div.yiv0823098310MsoListParagraph 
{margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;font-size:12.0pt;}#yiv0823098310
 span.yiv0823098310EmailStyle17 
{color:#1F497D;font-weight:normal;font-style:normal;text-decoration:none 
none;}#yiv0823098310 .yiv0823098310MsoChpDefault {font-size:10.0pt;} _filtered 
#yiv0823098310 {margin:1.0in 1.0in 1.0in 1.0in;}#yiv0823098310 
div.yiv0823098310WordSection1 {}#yiv0823098310 _filtered #yiv0823098310 {} 
_filtered #yiv0823098310 {} _filtered #yiv0823098310 {} _filtered 
#yiv0823098310 {font-family:Wingdings;} _filtered #yiv0823098310 
{font-family:Symbol;} _filtered #yiv0823098310 {} _filtered #yiv0823098310 
{font-family:Wingdings;} _filtered #yiv0823098310 {font-family:Symbol;} 
_filtered #yiv0823098310 {} _filtered #yiv0823098310 
{font-family:Wingdings;}#yiv0823098310 ol {margin-bottom:0in;}#yiv0823098310 ul 
{margin-bottom:0in;}#yiv0823098310 I don’t see the multicast address for the 
BPDU in the bridge.  Can you explicitly add the BPDU multicast address to the 
Fortville HW filters using the ‘ip maddr’ command?  Normally a service will 
register the associated multicast addresses with the network interface but that 
doesn’t seem to be happening.    Try that and let’s see if it helps.    Thanks, 
   -       Greg    

From: Maule Mark [mailto:mark_ma...@yahoo.com]
Sent: Thursday, April 30, 2015 9:04 AM
To: Rose, Gregory V; e1000-devel@lists.sourceforge.net
Subject: Re: [E1000-devel] i40e and RSTP    eth1 is the e40i port attached to 
the bridge.  Currently I have only one port bridged in order to prevent the 
loop.    eth1      Link encap:Ethernet  HWaddr 00:10:E0:65:2E:65    
WNFFFFFFFFFFFFFFEE # bridge fdb 00:10:e0:65:2e:65 dev eth1 permanent 
00:21:28:f9:09:2c dev eth1 00:21:28:f9:09:5c dev eth1 00:10:e0:65:2c:af dev 
eth1    If it matters, I'm using this version of i40e (shipped with the 
kernel):    #define DRV_VERSION_MAJOR 1 #define DRV_VERSION_MINOR 2 #define 
DRV_VERSION_BUILD 2    Could not find a i40e README under the kernel src or 
Documentation directory.    

 
From: "Rose, Gregory V" <gregory.v.r...@intel.com>
To: Maule Mark <mark_ma...@yahoo.com>; "e1000-devel@lists.sourceforge.net" 
<e1000-devel@lists.sourceforge.net>
Sent: Thursday, April 30, 2015 10:42 AM
Subject: RE: [E1000-devel] i40e and RSTP 

> -----Original Message-----
> From: Maule Mark [mailto:mark_ma...@yahoo.com]
> Sent: Thursday, April 30, 2015 8:08 AM
> To: e1000-devel@lists.sourceforge.net
> Subject: [E1000-devel] i40e and RSTP
> 
> Hi:
> I have a small 4 node private network where each node has 2 ports, with
> each port directly connected to a port on another node in such a way that
> a ring topology is formed.  Two of the nodes have NIC's controlled by the
> e1000 driver, two of the nodes have NIC's controlled by the i40e
> driver.  The OS is based on Linux 3.8.13.
> I bridge the 2 portss on each node, and am using user space RSTP to manage
> the loop.
> What I am seeing is that the bridge ports on the nodes with i40e based
> NIC's are not receiving BPDU's, and so all ports remain forwarding,
> resulting in a loop.  Using a packet capture program to monitor enet
> frames, it seems that the interfaces for the i40e NIC's never see ethernet
> frames from its direct connected peer destined to
> the 01:80:C2:00:00:00 multicast address.  They do see unicast and
> broadcast frames from the peer.  The direct connected peer (e1000 based
> nic) does see BPDU frames being sent out the i40e based NIC's.
> If I move to a config having all e1000 based NIC's, everything works fine.
> I'm fairly new to networking hw, so I assume I need to turn some
> configuration knobs on the i40e in order to receive the BPDU's.
> I am currently not doing any configuration on the i40e interfaces - just
> modprob'ing i40e to load it, and then standard commands to bring up the
> interface, bridge it, and assign an ip address.
> Any advice would be greatly appreciated.

When running in a bridged environment there is a work around required.  The 
information is in the README that comes with the driver.  Please review and 
make sure that your issue is not related to the one described in the README.  
I've pasted in the relevant section to save you some time.  While you don't 
mention SR-IOV or NPAR modes of operation you may still be seeing a bug related 
to the root cause, which is incorrect source pruning.  Make sure that all 
packets being sent by the i40e driver have a source MAC address in the bridge 
FDB.

If this doesn't help then we'll have to explore other options.

Regards,

- Greg

------------------------------------------------------------------------------
In SR-IOV enabled or NPAR enabled adapters, Physical Function (PF) does not 
work in bridge mode. When a bridge is created on the PF device, an emulation 
device in the Virtual Machine (VM) connects to this bridge cannot receive any 
unicast packets. 

To avoid this from occurring, for each emulated device (software Virtual 
Station Interface [VSI]) added to the bridge the MAC address of the emulated
device (software Virtual Ethernet Bridge [VEB] VSI) needs to be added manually 
to the forwarding database (FDB) filter table using the iproute2 package 
bridge tool. This can be done by executing the following command:

  # bridge fdb add <MAC ADDR> dev <PF device interface> self permanent

The FDB entry when the emulated device is no longer in use or the guest to 
which it is assigned is moved to a different host must be deleted using this    
command: 

  # bridge fdb del <MAC ADDR> dev <PF device interface>       


   
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to