> -----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® 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® 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® Ethernet, visit http://communities.intel.com/community/wired