Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Aug 2003 10:45:19 -0700 (PDT)
From:      John Polstra <jdp@polstra.com>
To:        current@freebsd.org
Cc:        pmedwards@eircom.net
Subject:   Re: bge & vlan stranges
Message-ID:  <200308011745.h71HjJgA071872@strings.polstra.com>
In-Reply-To: <20030801173748.04C7343F85@mx1.FreeBSD.org>
References:  <20030801173748.04C7343F85@mx1.FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <20030801173748.04C7343F85@mx1.FreeBSD.org>,
Peter Edwards <pmedwards@eircom.net> wrote:
> John Polstra <jdp@polstra.com> wrote:
> > Peter Edwards  <pmedwards@eircom.net> wrote:
> > > >         CSR_WRITE_4(sc, BGE_RX_MTU, ifp->if_mtu +
> > > >             ETHER_HDR_LEN + ETHER_CRC_LEN + ETHER_VLAN_ENCAP_LEN);
> 
> > Good guess, but the approved way of doing it is to add this code
> > near the point where IFCAP_VLAN_MTU is set:
> > 
> >     ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header);
> >
> > See "sys/dev/fxp/if_fxp.c" for an example that works.
> 
> Sorry for being obtuse, but just to clarify:

No, you are right.  I didn't read the posting carefully enough.
Sorry!

> fxp just seems to have an "allow long frames" flag, rather than a "max
> frame size"
> register in the hardware, so you never seem to have to tell the hardware the max
> size of a frame it needs to accept. I assume you mean, that after
> setting if_hdrlen,
> you still need to write to the PCI register, like this:
> 		CSR_WRITE_4(sc, BGE_RX_MTU,
> 			ifp->if_mtu + ifp->if_hdrlen + ETHER_CRC_LEN);

Yes, you probably do have to do that.  I think you also have to set
if_data.ifi_hdrlen as I said, or the MTU as understood by the rest of
the system will come out 4 bytes too short.  But I'm just speaking
from memory without any actual experiments to back up what I'm saying.
:-}

Thanks for the correction!

John
-- 
  John Polstra
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Two buttocks cannot avoid friction."                     -- Malawi saying



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308011745.h71HjJgA071872>