[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1206621833.7589.286.camel@gentoo-jocke.transmode.se>
Date: Thu, 27 Mar 2008 13:43:53 +0100
From: Joakim Tjernlund <joakim.tjernlund@...nsmode.se>
To: Li Yang <LeoLi@...escale.com>
Cc: Netdev <netdev@...r.kernel.org>,
"Linuxppc-Embedded@...abs.Org" <linuxppc-embedded@...abs.org>
Subject: RE: [PATCH] ucc_geth: Add 8 bytes to max TX frame for VLANs
On Wed, 2008-03-26 at 20:43 +0800, Li Yang wrote:
> > -----Original Message-----
> > From: Joakim Tjernlund [mailto:joakim.tjernlund@...nsmode.se]
> > Sent: Tuesday, March 25, 2008 5:18 PM
> > To: Li Yang
> > Cc: Netdev; Linuxppc-Embedded@...abs.Org
> > Subject: Re: [PATCH] ucc_geth: Add 8 bytes to max TX frame for VLANs
> >
> >
> > On Sat, 2008-03-22 at 12:51 +0100, Joakim Tjernlund wrote:
> > > >> -----Original Message-----
> > > >> From: netdev-owner@...r.kernel.org
> > > >> [mailto:netdev-owner@...r.kernel.org] On Behalf Of
> > Joakim Tjernlund
> > > > Sent: Tuesday, March 18, 2008 11:11 PM
> > > >> To: Netdev; Li Yang
> > > >> Cc: Joakim Tjernlund
> > > >>Subject: [PATCH] ucc_geth: Add 8 bytes to max TX frame for VLANs
> > > >>
> > > >> Creating a VLAN interface on top of ucc_geth adds 4 bytes to the
> > > >> frame and the HW controller is not prepared to TX a frame bigger
> > > >> than 1518 bytes which is 4 bytes too small for a full
> > VLAN frame.
> > > >> Also add 4 extra bytes for future expansion.
> > > >
> > > > IMO, VLAN and Jumbo packet support is not general case of
> > Ethernet.
> > > > Could you make this change optional? Thanks.
> > > >
> > > > - Leo
> > >
> > > hmm, I do not agree. VLAN is common today.
> > >
> > > If you were to enable HW support for VLAN then the ethernet
> > controller
> > > would inject an extra 4 bytes into the frame.
> > > This change does not change the visible MTU for the user.
> > As is now,
> > > soft VLAN is silently broken. Do you really want the user
> > to find and
> > > turn on a controller specific feature to use VLAN?
> > >
> > > What does netdev people think?
> > >
> > > Jocke
> >
> > hmm, I misread the HW specs. The change has nothing to do
> > with TX, it is the MAX RX frame size that was too small for
> > VLAN and that is what the patch addresses. I see that tg3.c
> > adds 4 bytes to MAX RX pkgs:
> > /* MTU + ethernet header + FCS + optional VLAN tag */
> > tw32(MAC_RX_MTU_SIZE, tp->dev->mtu + ETH_HLEN + 8); So
> > I don't think this change should be hidden behind a new
> > CONFIG option. Updated patch below with changed description.
>
> Hi Jocke,
>
> QUICC engine supports dynamic maximum frame length. If you are not
> expecting to receive only tagged frames, I recommend to use this feature
> by setting dynamicMaxFrameLength and dynamicMinFrameLength in ug_info
> instead of increasing the MaxLength for both tagged and untagged frames.
> See the following part from the reference manual.
>
> The MFLR entry in the Global Parameter RAM defines the length of the
> largest frame, excluding Q TAG
> but including FCS, that is still valid. When REMODER[DXE]=1, a tagged
> frame that has length equals
> MaxLength+4 considered valid, and a non tagged frame that has length
> equals MaxLength is the longest
> that is still considered valid. When REMODER[DXE]=0, any frame longer
> than MaxLength consider
> erroneous frame.
> For systems with only tagged frames, set REMODER[DXE]=0 and set
> MaxLength = Max LLC size+4.
>
> - Leo
Interesting, that should also work although QinQ will not. I will have
a closer look but I still don't see how my orginal patch would
harm anything. One could add my patch on top but with only 4 bytes
extra.
Jocke
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists