* change the way e1000 is handling short VLAN frames @ 2007-09-21 7:31 Emil Micek 2007-09-21 11:59 ` jamal 0 siblings, 1 reply; 18+ messages in thread From: Emil Micek @ 2007-09-21 7:31 UTC (permalink / raw) To: netdev Hello list, I'd like to change behaviour of e1000 module when transmiting short ethernet frames (shorter then 64 bytes) trough VLAN interface. Current e1000 (according to our observations) first appends 4 bytes of VLAN tag and then pads the frame to 64 bytes with zeroes if necessary before transmiting it. I'd like to change it so it first pads the frame to 64 B and appends the VLAN tag afterwards, so the resulting VLAN frame would be 68 bytes minimum. I want to do it because C3 CMTS from arris, which is connected to our linux box, has problems handling VLAN frames shorter then 68 bytes. As i'm quite a newbie concerning linux sources and c programing, i'd like to ask you if this'd be trivial or complex change and if someone can point out relevant portions of the sources, where the necessary changes should be done. Regards Emil Micek ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 7:31 change the way e1000 is handling short VLAN frames Emil Micek @ 2007-09-21 11:59 ` jamal 2007-09-21 12:50 ` Emil Micek 0 siblings, 1 reply; 18+ messages in thread From: jamal @ 2007-09-21 11:59 UTC (permalink / raw) To: Emil Micek; +Cc: netdev, auke-jan.h.kok On Fri, 2007-21-09 at 09:31 +0200, Emil Micek wrote: > Hello list, > > I'd like to change behaviour of e1000 module when transmiting short > ethernet frames (shorter then 64 bytes) trough VLAN interface. > > Current e1000 (according to our observations) first appends 4 bytes of > VLAN tag and then pads the frame to 64 bytes with zeroes if necessary > before transmiting it. Which would make it a bug. AFAIK, the minimum VLAN tagged packet going out is 68 bytes. > I'd like to change it so it first pads the frame to 64 B and appends the > VLAN tag afterwards, so the resulting VLAN frame would be 68 bytes > minimum. If you were able to figure this much out: What have you tried and what do you still need help on? CCing some of the e1000 people(done) will probably help you get this resolved faster. cheers, jamal ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 11:59 ` jamal @ 2007-09-21 12:50 ` Emil Micek 2007-09-21 13:37 ` jamal 2007-09-21 17:05 ` Brandeburg, Jesse 0 siblings, 2 replies; 18+ messages in thread From: Emil Micek @ 2007-09-21 12:50 UTC (permalink / raw) To: hadi; +Cc: auke-jan.h.kok@intel.com, netdev mailing list On Fri, 2007-09-21 at 07:59 -0400, jamal wrote: > > Current e1000 (according to our observations) first appends 4 bytes of > > VLAN tag and then pads the frame to 64 bytes with zeroes if necessary > > before transmiting it. > > Which would make it a bug. AFAIK, the minimum VLAN tagged packet going > out is 68 bytes. Are you sure about this? We did some extensive testing capturing VLAN frames going out of our Intel PRO/1000 MT Dual Port Server Adapter (82571EB chipset) and we definitely captured VLAN frames shorter then 68 bytes. Here is text dump of such frame: http://www.tkrjasek.cz/mie/cmts_tests/between_linux_and_cmts.txt (note that wireshark captures the frames without 4 bytes FCS (frame check sequence) so the above packet is in fact 66 bytes long). What is the right behaviour according to specification? In iee802.3, minFrameSize is 64bytes. I've never seen any document which'd say that VLAN frames should be 68 bytes minimum. > > I'd like to change it so it first pads the frame to 64 B and appends the > > VLAN tag afterwards, so the resulting VLAN frame would be 68 bytes > > minimum. > > If you were able to figure this much out: What have you tried and what > do you still need help on? CCing some of the e1000 people(done) will > probably help you get this resolved faster. Well to make long story short. While testing VLAN capabilities of our C3 CMTS, we discovered that some frames are corupted after passing trough the CMTS. We discovered, that affected frames are VLAN frames 64 - 67 bytes long. We tried several NIC's in our linux box mainly with e1000 driver but also some NIC's from 3com, broadcom and Planet. All of them suffer from this issue except NIC from Planet (RTL-8169 chipset), which pads VLAN frames to 68 bytes. The other cards pad VLAN frames only to 64 bytes. We also tried to tag the traffic on some VLAN enabled switches (d-link, edge-core, cisco catalyst) and they also pad VLAN frames to 68 bytes. Now i'm little confused by your reply, becaouse you write, that VLAN frames generated by e1000 should be 68 bytes minimum, which contradicts witch our observations. thanks for your reply Emil ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 12:50 ` Emil Micek @ 2007-09-21 13:37 ` jamal 2007-09-21 13:46 ` jamal 2007-09-21 17:05 ` Brandeburg, Jesse 1 sibling, 1 reply; 18+ messages in thread From: jamal @ 2007-09-21 13:37 UTC (permalink / raw) To: Emil Micek; +Cc: auke-jan.h.kok@intel.com, netdev mailing list, Ben Greear On Fri, 2007-21-09 at 14:50 +0200, Emil Micek wrote: > On Fri, 2007-09-21 at 07:59 -0400, jamal wrote: > > Which would make it a bug. AFAIK, the minimum VLAN tagged packet going > > out is 68 bytes. > Are you sure about this? This is what i have always seen. Double checked with google and she gave me many a url, example: http://www.cisco.com/warp/public/473/741_4.html I think you can pretty much trust cisco on something as basic as this. Also: http://www.techfest.com/networking/lan/ethernet2.htm > We did some extensive testing capturing VLAN > frames going out of our Intel PRO/1000 MT Dual Port Server Adapter > (82571EB chipset) and we definitely captured VLAN frames shorter then 68 > bytes. Here is text dump of such frame: > http://www.tkrjasek.cz/mie/cmts_tests/between_linux_and_cmts.txt Do you have access to another NIC? a tg3 based one will be good to test for hardware level tagging. > (note that wireshark captures the frames without 4 bytes FCS (frame > check sequence) so the above packet is in fact 66 bytes long). > > What is the right behaviour according to specification? In iee802.3, > minFrameSize is 64bytes. I've never seen any document which'd say that > VLAN frames should be 68 bytes minimum. Refer to above. > Now i'm little confused by your reply, becaouse you write, that VLAN > frames generated by e1000 should be 68 bytes minimum, which contradicts > witch our observations. Miscommunication ;-> I said the packets going out should be 68B otherwise it is a bug. if e1000 is sending 64B out, it is a bug. I think any other NIC that doesnt do hardware based vlan tags would be good to try as well because it uses the software stack to do the tagging. cheers, jamal ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 13:37 ` jamal @ 2007-09-21 13:46 ` jamal 2007-09-21 14:27 ` Francesco Fondelli 2007-09-21 15:43 ` Ben Greear 0 siblings, 2 replies; 18+ messages in thread From: jamal @ 2007-09-21 13:46 UTC (permalink / raw) To: Emil Micek; +Cc: auke-jan.h.kok@intel.com, netdev mailing list, Ben Greear On Fri, 2007-21-09 at 09:37 -0400, jamal wrote: > On Fri, 2007-21-09 at 14:50 +0200, Emil Micek wrote: > > On Fri, 2007-09-21 at 07:59 -0400, jamal wrote: > > > > Which would make it a bug. AFAIK, the minimum VLAN tagged packet going > > > out is 68 bytes. > > Are you sure about this? > > This is what i have always seen. If the first email caused confusion - so will this ;-> I have never used e1000 for vlan tagging. My view is that if it emits (instead of 68B) 64B packets with tags then it is buggy and needs to be fixed. Hope that makes sense. cheers, jamal ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 13:46 ` jamal @ 2007-09-21 14:27 ` Francesco Fondelli 2007-09-21 15:43 ` Ben Greear 1 sibling, 0 replies; 18+ messages in thread From: Francesco Fondelli @ 2007-09-21 14:27 UTC (permalink / raw) To: hadi; +Cc: Emil Micek, auke-jan.h.kok@intel.com, netdev mailing list, Ben Greear On 9/21/07, jamal <hadi@cyberus.ca> wrote: > Hope that makes sense. [cut] > cheers, > jamal Hi all, as far as I understand ieee docs both 64 and 68 approaches are fine... --- Std 802.1Q-2005, 6.5.1 --- On receipt of an M_UNITDATA.request primitive that represents a tagged frame, the implementation is permitted to adopt either of the following approaches with regard to the operation of Transmit Data Encapsulation for frames whose length would, using the procedure as described, be less than 68 octets: a) Use the procedure as described in 6.5.1 of IEEE Std 802.1D. This procedure can result in tagged frames of less than 68 octets (but at least 64 octets) being transmitted; or b) Include additional octets before the FCS field in order for the transmitted frame length for such frames to be 68 octets. This procedure results in a minimum tagged frame length of 68 octets. When a tagged frame of less than 68 octets in length is received on a CSMA/CD LAN segment, and is forwarded as an untagged frame, the provisions of 6.5.1 of IEEE Std 802.1D, result in additional octets being included before the FCS field on transmission in order that the transmitted frame length meets the minimum frame size requirements of 3.2.7 in IEEE Std 802.3. ------------------------------ and --- Std 802.1Q-2005, C.4.4.1 --- When tagged frames are transmitted by a Bridge on an IEEE Std 802.3 MAC, there are two permissible approaches (7.2), as follows: a) Keep the minimum frame size generated by the Bridge equal to 64 octets. This implies that the number of pad octets in a received untagged IEEE Std 802.3 frame would be reduced by up to 4 octets when that frame was tagged; b) Adopt a minimum tagged frame length of 68 octets. This implies that the number of pad octets in a received untagged IEEE Std 802.3 frame would not be adjusted when tagging such frames; equally, if subsequently untagged, no pad adjustment would be necessary before transmission on IEEE 802.3/Ethernet. ------------------------------ might this problem be solved using a configurable parameter? (default=68) my 0.02 euro Ciao FF ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 13:46 ` jamal 2007-09-21 14:27 ` Francesco Fondelli @ 2007-09-21 15:43 ` Ben Greear 2007-09-21 21:12 ` jamal 1 sibling, 1 reply; 18+ messages in thread From: Ben Greear @ 2007-09-21 15:43 UTC (permalink / raw) To: hadi; +Cc: Emil Micek, auke-jan.h.kok@intel.com, netdev mailing list jamal wrote: > On Fri, 2007-21-09 at 09:37 -0400, jamal wrote: > >> On Fri, 2007-21-09 at 14:50 +0200, Emil Micek wrote: >> >>> On Fri, 2007-09-21 at 07:59 -0400, jamal wrote: >>> >>>> Which would make it a bug. AFAIK, the minimum VLAN tagged packet going >>>> out is 68 bytes. >>>> >>> Are you sure about this? >>> >> This is what i have always seen. >> > > If the first email caused confusion - so will this ;-> > I have never used e1000 for vlan tagging. My view is that if it emits > (instead of 68B) 64B packets with tags then it is buggy and needs to be > fixed. Hope that makes sense. > I just re-read the spec, and a bridge *may* pad up to 68, but it is not required. On page 166, it says equipment must be able to handle 64 byte minimums. See page 22 (section 7.2) of this document: http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf Also, page 63, 165, 166 Thanks, Ben > > cheers, > jamal > > - > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Ben Greear <greearb@candelatech.com> Candela Technologies Inc http://www.candelatech.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 15:43 ` Ben Greear @ 2007-09-21 21:12 ` jamal 2007-09-21 21:18 ` Ben Greear ` (2 more replies) 0 siblings, 3 replies; 18+ messages in thread From: jamal @ 2007-09-21 21:12 UTC (permalink / raw) To: Ben Greear Cc: Emil Micek, auke-jan.h.kok@intel.com, netdev mailing list, Jesse On Fri, 2007-21-09 at 08:43 -0700, Ben Greear wrote: > I just re-read the spec, and a bridge *may* pad up to 68, but it is not > required. > On page 166, it says equipment must be able to handle 64 byte minimums. > > See page 22 (section 7.2) of this document: > > http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf > > Also, page 63, 165, 166 Thanks for the enlightnment. Do we need an ethtool interface to turn off hardware accelerated vlans? Jesse is indicating that the intel hardware can only handle the MUST but not the SHOULD of the spec. Actually a more basic question: Can you select one or the other mode in the software based vlans? cheers, jamal ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:12 ` jamal @ 2007-09-21 21:18 ` Ben Greear 2007-09-21 21:21 ` Kok, Auke 2007-09-21 21:27 ` Chris Leech 2 siblings, 0 replies; 18+ messages in thread From: Ben Greear @ 2007-09-21 21:18 UTC (permalink / raw) To: hadi; +Cc: Emil Micek, auke-jan.h.kok@intel.com, netdev mailing list, Jesse jamal wrote: > On Fri, 2007-21-09 at 08:43 -0700, Ben Greear wrote: > >> I just re-read the spec, and a bridge *may* pad up to 68, but it is not >> required. >> On page 166, it says equipment must be able to handle 64 byte minimums. >> >> See page 22 (section 7.2) of this document: >> >> http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf >> >> Also, page 63, 165, 166 > > Thanks for the enlightnment. > Do we need an ethtool interface to turn off hardware accelerated vlans? > Jesse is indicating that the intel hardware can only handle the MUST but > not the SHOULD of the spec. > Actually a more basic question: Can you select one or the other mode in > the software based vlans? It's not even clear to me that it's a Should..more like a 'May', for what thats worth. As for using the software stack, I don't think we are padding to 68 in the soft vlans either... It would be nice to have an ethtool to turn off hw vlans for other reasons, like sniffing vlan tags, at least... You cannot select hw v/s soft vlans...the code always uses hw-accel if it's available, as far as I know. Thanks, Ben > > cheers, > jamal > -- Ben Greear <greearb@candelatech.com> Candela Technologies Inc http://www.candelatech.com ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:12 ` jamal 2007-09-21 21:18 ` Ben Greear @ 2007-09-21 21:21 ` Kok, Auke 2007-09-21 21:29 ` jamal 2007-09-21 21:27 ` Chris Leech 2 siblings, 1 reply; 18+ messages in thread From: Kok, Auke @ 2007-09-21 21:21 UTC (permalink / raw) To: hadi; +Cc: Ben Greear, Emil Micek, netdev mailing list, Jesse jamal wrote: > On Fri, 2007-21-09 at 08:43 -0700, Ben Greear wrote: > >> I just re-read the spec, and a bridge *may* pad up to 68, but it is not >> required. >> On page 166, it says equipment must be able to handle 64 byte minimums. >> >> See page 22 (section 7.2) of this document: >> >> http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf >> >> Also, page 63, 165, 166 > > Thanks for the enlightnment. > Do we need an ethtool interface to turn off hardware accelerated vlans? > Jesse is indicating that the intel hardware can only handle the MUST but > not the SHOULD of the spec. I don't actually see the "SHOULD" part you are referring to. AFAIK the RX side is fully covered and only on TX the hardware sends out 64b padded vlan packets, which is permitted. The spec never says that it is required to send out 68b padded vlan packets - only permits either choice. Auke ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:21 ` Kok, Auke @ 2007-09-21 21:29 ` jamal 2007-09-21 21:34 ` Kok, Auke 0 siblings, 1 reply; 18+ messages in thread From: jamal @ 2007-09-21 21:29 UTC (permalink / raw) To: Kok, Auke; +Cc: Ben Greear, Emil Micek, netdev mailing list, Jesse On Fri, 2007-21-09 at 14:18 -0700, Ben Greear wrote: > As for using the software stack, I don't think we are padding to 68 in > the soft vlans either... Should be much easier than changing firmware or an ASIC. > It would be nice to have an ethtool to turn off hw vlans for other reasons, > like sniffing vlan tags, at least... Hrm, no hardware out there will pass on tags to the stack as metadata? On Fri, 2007-21-09 at 14:21 -0700, Kok, Auke wrote: > I don't actually see the "SHOULD" part you are referring to. the "optional" part;-> MAY? > AFAIK the RX side is fully covered so you can handle both 64B and 68B? > and only on TX the hardware sends out 64b padded vlan packets, which > is permitted. The spec never says that it is required to send out 68b padded vlan > packets - only permits either choice. The CISCO i pointed to seems to be only capable of 68B. So if the CISCO sends to you, it would work, but you sending to the CISCO or to Emil's CMTS you have challenges, no? cheers, jamal ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:29 ` jamal @ 2007-09-21 21:34 ` Kok, Auke 2007-09-21 21:43 ` jamal 0 siblings, 1 reply; 18+ messages in thread From: Kok, Auke @ 2007-09-21 21:34 UTC (permalink / raw) To: hadi; +Cc: Ben Greear, Emil Micek, netdev mailing list, Jesse jamal wrote: >> AFAIK the RX side is fully covered > > so you can handle both 64B and 68B? I never saw any bugreports about e1000 not being able to accept vlan packets because of this, so I'm quite certain it works OK, feel free to find me a case where this isn't so :) Auke ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:34 ` Kok, Auke @ 2007-09-21 21:43 ` jamal 2007-09-21 22:02 ` Chris Leech 0 siblings, 1 reply; 18+ messages in thread From: jamal @ 2007-09-21 21:43 UTC (permalink / raw) To: Kok, Auke; +Cc: Ben Greear, Emil Micek, netdev mailing list, Jesse On Fri, 2007-21-09 at 14:34 -0700, Kok, Auke wrote: > I never saw any bugreports about e1000 not being able to accept vlan packets > because of this, so I'm quite certain it works OK, feel free to find me a case > where this isn't so :) If you tell me it can be done on the rx, i will take your word for it;-> Emil can certainly verify it. The tx you certainly have issues - Look at one of the suggestions from Chris, i think it is resolvable. cheers, jamal ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:43 ` jamal @ 2007-09-21 22:02 ` Chris Leech 2007-09-24 8:40 ` Emil Micek 0 siblings, 1 reply; 18+ messages in thread From: Chris Leech @ 2007-09-21 22:02 UTC (permalink / raw) To: hadi; +Cc: Kok, Auke, Ben Greear, Emil Micek, netdev mailing list, Jesse On 9/21/07, jamal <hadi@cyberus.ca> wrote: > On Fri, 2007-21-09 at 14:34 -0700, Kok, Auke wrote: > > > I never saw any bugreports about e1000 not being able to accept vlan packets > > because of this, so I'm quite certain it works OK, feel free to find me a case > > where this isn't so :) > > If you tell me it can be done on the rx, i will take your word for it;-> > Emil can certainly verify it. > The tx you certainly have issues - Look at one of the suggestions from > Chris, i think it is resolvable. I'd say that devices that can't receive 64 bytes VLAN tagged frames have an issue, but for the sake of interoperability and solving Emil's problem I'm willing to discuss how a change to e1000 would work ;-) The simplest option is to add software small frame padding all the time. It won't catch software tagged frames if they were generated somehow, but should fix the hardware tagged ones to be 68 bytes on the wire. If you were worried about software tagged frames then replacing ETH_ZLEN with VLAN_ETH_ZLEN would pad all frames, VLAN or not, to 68 bytes. Emil, this patch will probably do what you want. diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 4a22595..34e3d18 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -3284,6 +3284,9 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) return NETDEV_TX_OK; } + if (skb_padto(skb, ETH_ZLEN)) + return NETDEV_TX_OK; + /* 82571 and newer doesn't need the workaround that limited descriptor * length to 4kB */ if (adapter->hw.mac_type >= e1000_82571) ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 22:02 ` Chris Leech @ 2007-09-24 8:40 ` Emil Micek 0 siblings, 0 replies; 18+ messages in thread From: Emil Micek @ 2007-09-24 8:40 UTC (permalink / raw) To: netdev mailing list Cc: auke-jan.h.kok@intel.com, Ben Greear, Chris Leech, Francesco Fondelli, jamal, Jesse Thanks for your replies. We contacted Arris (manufacturer of our CMTS) about this issue with links to relevant parts of specification about minimum size of VLAN tagged frames and it seems they'll acknowledge the problem and fix it in next firmware. Meantime i tried different suggestions posted there (patch from Chris, replacing ETH_ZLEN with VLAN_ETH_ZLEN in e1000_main.c and disabling HW VLAN tagging in netdev->features) and combinations of them, but none of it worked and 64B VLAN frames are still generated by our intel NIC. I'll now consider this issue as closed on the e1000 and intel NIC side, because there was no problem with them in the first place, and I'll rather concentrate on resolving it on the CMTS side which doesn't act according to specs. Cheer Emil. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:12 ` jamal 2007-09-21 21:18 ` Ben Greear 2007-09-21 21:21 ` Kok, Auke @ 2007-09-21 21:27 ` Chris Leech 2007-09-21 21:36 ` jamal 2 siblings, 1 reply; 18+ messages in thread From: Chris Leech @ 2007-09-21 21:27 UTC (permalink / raw) To: hadi Cc: Ben Greear, Emil Micek, auke-jan.h.kok@intel.com, netdev mailing list, Jesse On 9/21/07, jamal <hadi@cyberus.ca> wrote: > On Fri, 2007-21-09 at 08:43 -0700, Ben Greear wrote: > > > I just re-read the spec, and a bridge *may* pad up to 68, but it is not > > required. > > On page 166, it says equipment must be able to handle 64 byte minimums. > > > > See page 22 (section 7.2) of this document: > > > > http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf > > > > Also, page 63, 165, 166 > > Thanks for the enlightnment. > Do we need an ethtool interface to turn off hardware accelerated vlans? > Jesse is indicating that the intel hardware can only handle the MUST but > not the SHOULD of the spec. > Actually a more basic question: Can you select one or the other mode in > the software based vlans? Inserting the VLAN tag in software will not change the behavior in the way you want anyway, short frames will still be padded to 64 bytes. You'd have to do short packet padding in software to 68 bytes. Or do software padding to 64 bytes and let the hardware insert the VLAN tag after. Chris ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: change the way e1000 is handling short VLAN frames 2007-09-21 21:27 ` Chris Leech @ 2007-09-21 21:36 ` jamal 0 siblings, 0 replies; 18+ messages in thread From: jamal @ 2007-09-21 21:36 UTC (permalink / raw) To: Chris Leech Cc: Ben Greear, Emil Micek, auke-jan.h.kok@intel.com, netdev mailing list, Jesse On Fri, 2007-21-09 at 14:27 -0700, Chris Leech wrote: > > Inserting the VLAN tag in software will not change the behavior in the > way you want anyway, short frames will still be padded to 64 bytes. > You'd have to do short packet padding in software to 68 bytes. Or do > software padding to 64 bytes and let the hardware insert the VLAN tag > after. I like the second one because it could be done totaly in the driver and would resolve the problem IMO. All we need after is an ethtool knob to select between 64B or 68B txmit. cheers, jamal ^ permalink raw reply [flat|nested] 18+ messages in thread
* RE: change the way e1000 is handling short VLAN frames 2007-09-21 12:50 ` Emil Micek 2007-09-21 13:37 ` jamal @ 2007-09-21 17:05 ` Brandeburg, Jesse 1 sibling, 0 replies; 18+ messages in thread From: Brandeburg, Jesse @ 2007-09-21 17:05 UTC (permalink / raw) To: Emil Micek, hadi; +Cc: Kok, Auke-jan H, netdev mailing list Emil Micek wrote: > What is the right behaviour according to specification? In iee802.3, > minFrameSize is 64bytes. I've never seen any document which'd say that > VLAN frames should be 68 bytes minimum. e1000 only hardware pads to 64 bytes, but if you use the vlan module and turn off the hardware assistance of inserting tags, by unsetting NETIF_F_HW_VLAN_* in netdev->features. the software insertion sounds like it should work for you at the cost of higher CPU. >>> I'd like to change it so it first pads the frame to 64 B and >>> appends the VLAN tag afterwards, so the resulting VLAN frame would >>> be 68 bytes minimum. at least for e1000 this isn't possible in the driver, while still doing hardware vlan insertion. Jesse ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2007-09-24 8:41 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-09-21 7:31 change the way e1000 is handling short VLAN frames Emil Micek 2007-09-21 11:59 ` jamal 2007-09-21 12:50 ` Emil Micek 2007-09-21 13:37 ` jamal 2007-09-21 13:46 ` jamal 2007-09-21 14:27 ` Francesco Fondelli 2007-09-21 15:43 ` Ben Greear 2007-09-21 21:12 ` jamal 2007-09-21 21:18 ` Ben Greear 2007-09-21 21:21 ` Kok, Auke 2007-09-21 21:29 ` jamal 2007-09-21 21:34 ` Kok, Auke 2007-09-21 21:43 ` jamal 2007-09-21 22:02 ` Chris Leech 2007-09-24 8:40 ` Emil Micek 2007-09-21 21:27 ` Chris Leech 2007-09-21 21:36 ` jamal 2007-09-21 17:05 ` Brandeburg, Jesse
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).