> -----Original Message-----
> From: Shankar Krishnamurthy [mailto:shankar.krishnamur...@citrix.com]
> Sent: Tuesday, September 15, 2015 2:57 PM
> To: e1000-devel@lists.sourceforge.net
> Subject: [E1000-devel] Vlan Table in I40e XL710
> 
> Hi fortville Experts,
> 
> Was trying to use VLAN Table (for filtering) in conjunction with MACVLAN
> table mentioned in "7.4.8.3 L2 Filtering Algorithm" (also cut n' pasted
> below)
> 
> My test scenario:
> 1. In SRIOV mode, gave one VF to VM. For that, I added the corresponding
> MAC into MACVLAN table with vlan=25
> 2. Added VLAN table with vlan=25. (For p.VPE=0 I used
> 'i40e_aqc_opc_set_vsi_promiscuous_modes' opcode with vlan promiscuous.)
> 

Why?  You're setting a VLAN filter with the tag value of 25.  Why do 
promiscuous mode in addition?

> Now the packets are coming into this VM.
> 
> 1. Now, I delete the vlan=25 entry in the VLAN table (expecting that
> packets stop coming in)
> 2. Packets are still coming in.

Turn off promiscuous mode.

- Greg

> 
> But I am confused with this behavior. According the algorithm below,
> Namely:
> " EFilter = MFilter and (VFilter or p.VPE} and AddressType == Unicast;"
> 
> The packets should have stopped coming in. What am I missing?
> 
> Is there any global setting /register that I need to toggle for the VLAN
> table to be effective?
> 
> Is VSI setup needs additional flags? Not sure
> 
> thanks,
> Shankar.
> 
> I40e Driver Version: 1.2.37
> 
> 7.4.8.3 L2 Filtering Algorithm
> The following pseudo code describes the algorithm used to determine if a
> packet passes the L2 filtering
> element.
> // Global parameters
> // Define Lookup tables
> MacVlan Table: Array of {MAC (MAC Address), VLAN (VLAN tag)}
> Ethernet Controller XL710 - Internal Switch
> 728
> Mac Table: Array of {MAC (MAC Address)}
> VLAN table: Array of {VLAN (VLAN tag)}
> HashMacVlan Table: Array of {HashMAC (Hash Values), VLAN (VLAN tag),
> AddressType}
> HashMac Table: Array of {HashMAC (Hash Values) , AddressType}
> EtherType Table : Array of {Etype (Ethertypes Values)}
> MacEtherType Table: Array of {MAC (MAC Address), Etype (Ethertype value)}
> // Define Virtual ports modes
> Port.PUE // Promiscuous Unicast Enable
> Port.PME // Promiscuous Multicast Enable
> Port.BAM // Broadcast Enable
> Port.VPE // Promiscuous VLAN enable
> Port.MaxSize: Max Packet size
> L2_function(Packet)
> // Variables
> MFilter: = False // MAC Filtering
> VFilter: = False // VLAN Filtering
> EFilter: = False // Exclusive Filtering
> NEPMFilter = False // Non Exclusive Perfect MAC Filtering
> NEPFilter = False // Non Exclusive Perfect Filtering
> NEIPMFilter = False // Non Exclusive Imperfect MAC Filtering
> NEIPFilter = False // Non Exclusive Imperfect Filtering
> Pass = False // Final decision.
> //Define packet parameters
> DA = Packet.DA //Destination Address of the packet
> VID = Packet.VLAN ID // Vlan tag of the packet
> Etype = Packet.Ethertype // Ethertype of the packet
> AddressType //Type of address of the DA. Can be Unicast, Multicast or
> Broadcast.
> HDA = HashFunction(DA).
> PSize: Packet size. This do not include any tag or other header removed by
> previous stages or to be added by following stages.
> 
> // Exclusive Filters
> For Each entry e in MacVlan Table
> If (DA == e.MAC and (VID == e.VLAN or (VID == NULL and e.VLAN == 0))
> MFilter = True;
> For Each entry e in Mac Table
> If (DA == e.MAC) MFilter = True;
> For Each entry e in Ethertype Table
> If (Etype == e.Etype) MFilter = True;
> For Each entry e in MacEthertype Table
> If (DA == e.MAC and Etype == e.Etype) MFilter = True;
> For Each entry e in Vlan Table
> If (VID == e.VLAN or (VID == NULL and e.VLAN == 0)) VFilter = True;
> // VLAN filters are ANDed with the previous filters unless promiscuous
> VLAN is enabled
> EFilter = MFilter and (VFilter or p.VPE} and AddressType == Unicast;
> // Non Exclusive Perfect Filters
> If (AddressType == Unicast and p.PUE == 1) NEPMFilter = True;
> If (AddressType == Multicast and (p.PME == 1 or MFilter)) NEPMFilter =
> True;
> If (AddressType == Broadcast and (p.BAM == 1 or MFilter)) NEPMFilter =
> True;
> // VLAN filters are ANDed with the previous filters unless promiscuous
> VLAN is enabled
> NEPFilter = NEPMFilter and (VFilter or p.VPE};
> // Non Exclusive Imperfect Filters
> For Each entry e in HashMACVlan Table
> If (HDA == e.HashMAC and (VID == e.VLAN or (VID == NULL and e.VLAN == 0))
> and AddressType == e.AddressType) NEIPMFilter = True;
> For Each entry e in HashMAC Table
> If (HDA == e.HashMAC and AddressType == e.AddressType) NEIPMFilter = True;
> // VLAN filters are ANDed with the previous filters unless promiscuous
> VLAN is enabled
> NIEPFilter = NIEPMFilter and (VFilter or p.VPE};
> // Packet size filtering is done at the queue level, so it is not part of
> the switch algorithm
> Pass = (EFilter or NEPFilter or NEIPFilter)
> Return Pass;
> }
> 
> -----Original Message-----
> From: Ronciak, John [mailto:john.ronc...@intel.com]
> Sent: Tuesday, September 15, 2015 10:40 AM
> To: Fujinaka, Todd <todd.fujin...@intel.com>;
> zheloba...@prosoftsystems.ru; e1000-devel@lists.sourceforge.net
> Subject: Re: [E1000-devel] Intel 82551IL chips
> 
> As long as there is no copy and pasting from the Linux driver to the QNX
> driver it should not be a problem.  I'm not a lawyer but that's generally
> the case.  That said, since the driver works after another a second reboot
> it's probably not related to the driver.  This is probably something that
> is related to the system during the PCI enumeration of devices.  Are all
> the other devices seen on a cold boot?  Is there an equivalent to 'lspci'
> in QNX?  If so what's it show on the first boot from power-off?  Are all
> the devices seen at that point or are some missing?
> 
> Cheers,
> John
> 
> > -----Original Message-----
> > From: Fujinaka, Todd [mailto:todd.fujin...@intel.com]
> > Sent: Tuesday, September 15, 2015 9:43 AM
> > To: zheloba...@prosoftsystems.ru<mailto:zheloba...@prosoftsystems.ru>;
> e1000-devel@lists.sourceforge.net<mailto:e1000-
> de...@lists.sourceforge.net>
> > Subject: Re: [E1000-devel] Intel 82551IL chips
> >
> > The 82551L has been EOLed for about nine years by my estimation. We
> > don't have any further support for it.
> >
> > Also, it is probably a violation of the GPL to start with the Linux
> > driver to work on the QNX driver. I would suggest trying the FreeBSD
> driver.
> >
> > Todd Fujinaka
> > Software Application Engineer
> > Networking Division (ND)
> > Intel Corporation
> > todd.fujin...@intel.com<mailto:todd.fujin...@intel.com>
> > (503) 712-4565
> >
> > -----Original Message-----
> > From: Желобанов Дмитрий Владимирович
> > [mailto:zheloba...@prosoftsystems.ru]
> > Sent: Tuesday, September 15, 2015 5:15 AM
> > To: e1000-devel@lists.sourceforge.net<mailto:e1000-
> de...@lists.sourceforge.net>
> > Subject: [E1000-devel] Intel 82551IL chips
> >
> > Hello,
> >
> > We use chips 82551IL (did 0x1209 rev 0x10) in our embedded platforms.
> > Our devices run QNX operation system. We faced with an issue:
> > sometimes our devices don't receive Ethernet packets right after boot
> > at all, only reboot helps to revive the devices. We think the root
> > problem is in hardware- software communication with the Ethernet
> > controller, or rather in QNX Ethernet driver.
> > I looked in Linux driver (e100.c) and found, the driver uploads
> > special firmware in chips like ours.
> >
> > So, could you give us a document which clarifies changes in
> > d102e_ucode.bin firmware from the original on chip microcode?
> >
> > Желобанов Д.В.
> > ООО <Прософт-Системы>, г. Екатеринбург.
> >
> >
> > ----------------------------------------------------------------------
> > -------- _______________________________________________
> > E1000-devel mailing list
> > E1000-devel@lists.sourceforge.net<mailto:E1000-
> de...@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
> 
> --------------------------------------------------------------------------
> ----
> _______________________________________________
> E1000-devel mailing list
> E1000-devel@lists.sourceforge.net<mailto:E1000-
> de...@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


------------------------------------------------------------------------------
_______________________________________________
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