Zero copy sockets question

Dung Patrick dkt at digitalme.com
Thu Feb 12 06:33:14 PST 2004


Correct me if I am wrong:

To use the zero copy 'receive' on i386, you need to set the MTU to 4096 byt=
es(page size) or 4096 multiples.

If it is true, until zero copy receive can do auto fitting, I think zero co=
py receive is more useful in gigabit ethernet than in fast ethernet (I as=
sume MTU 1500(or smaller) is suitable for fast ethernet/Internet.)

Patrick

-----Original Message-----
From: Andrew Gallatin <gallatin at cs.duke.edu>
To: Dung Patrick <dkt at digitalme.com>
Date: Thu, 12 Feb 2004 09:17:46 -0500 (EST)
Subject: Re: Zero copy sockets question


Dung Patrick writes:
 > Hi
 >=20
 > I have read http://people.freebsd.org/~ken/zero_copy/
 >=20
 > To correctly use zero copy receive, it seems it need to set the MTU to:
 > have to be at least page sized, and be aligned on page boundaries.

Yes.

 > So is the default MTU for ethernet network card 1500 works?

No, you need to have an MTU of at least PAGE_SIZE + headers.
And a NIC which is smart enough to do the header splitting.
Currently, the Alteon Tigon2 is the only nic which fits the bill.
I keep meaning to implement header splitting in the Myricom Myrinet
firmware, and I keep not getting time for it..

Note that send-side zero-copy works on any NIC, and with a standard
MTU.


Drew





More information about the freebsd-hackers mailing list