Julian Elischer wrote:
> 
> The proble is that teh ethernet header is 14 bytes so you must choose
> to allighn either the whole packet, or the IP header, but you cannot do
> both.

Hm, it seems to be a waste of CPU time memory bandwidth: only the 
IP and TCP headers have to be aligned but the payload in most cases
will be copied over once again to the user space
anyway. So, theoretically speaking, this can be solved at the
level of the upper protocols: IP and TCP and UDP and NFS are doing
m_pullup() anyway (if neccessary), so a call named like
m_pullup_align(mp, len, alignment) can be implemented and used
instead of m_pullup() to both ensure the minimal length of the
buffer chunk and its proper alignment.

The difficult thing in such an implementation will be to make sure
that all the protocols have been updated to use it.

-SB
 
> On Mon, 16 Jul 2001, Soren Kristensen wrote:
> 
> > Hi,
> >
> > [EMAIL PROTECTED] wrote:
> > >
> > > In a message dated 07/16/2001 1:11:09 PM Eastern Daylight Time,
> > > [EMAIL PROTECTED] writes:
> > >
> > > > > How do these perform compared to the more expensive gigabit cards?
> > > >
> > > >  Read the driver.
> > > >
> > > >  In general, they require an extra copy because of the inability
> > > >  of the card to DMA on a reasonable boundry.
> > > >
> > > >  Bill's commentary in his drivers is frequently enlightening,
> > > >  and often amusing... 8-).

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to