Date: Fri, 04 Oct 2002 21:22:50 -0700 From: Bakul Shah <bakul@bitblocks.com> To: Don Bowman <don@sandvine.com> Cc: "'stable@freebsd.org'" <stable@FreeBSD.ORG> Subject: Re: packet generator, GigE linerate, precomputed packets Message-ID: <200210050422.AAA28047@devonshire.cnchost.com> In-Reply-To: Your message of "Fri, 04 Oct 2002 23:23:01 EDT." <FE045D4D9F7AED4CBFF1B3B813C8533701022BCB@mail.sandvine.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Is anyone aware of a method to efficiently transmit preconstructed > packets under FreeBSD? This is for use in a network product > test environment. You will need something specialized to bypass the normal ponderous flow. One idea is to add an ioctl to copy in a whole bunch of packets. Add more ioctls to do a little bit of processing and send (or resend). This avoids most of the user/kernel crossings. Similarly you can add logic to compare received packets to "expected" packets. May be even some mmap games to examine data from a user program. But the key thing is to set things up and get out of the way. You won't achieve SmartBits speeds though. SmartBits are easy to use but exploiting their limited flexibility is not. Still might be worth investigating if you can work with them. > Should I be looking @ writing a kernel module to do this? More like extending either if_ethersubr.c or a particular netif driver. > I really need to achieve line rate @ 1Gbps w/ minimal size > packets (so a ~3.2Mpps transmit rate). Let us see: you have about 672 ns per min size packet. Good luck:-) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210050422.AAA28047>