Test tools for new network driver

Ben Hutchings bhutchings at solarflare.com
Sat Aug 20 02:11:03 UTC 2011


On Fri, 2011-08-19 at 11:04 +0100, Ben Gray wrote:
> Hi,
> 
>      I'm not sure if this the right list to post to, but here goes ...
> 
>      I'm currently writing a driver for the SMSC LAN95xx range of USB to 
> Ethernet adapter chips 
> (http://www.smsc.com/index.php?tid=300&pid=135&tab=1). The basic RX/TX 
> works and now I'm trying to get the H/W checksum offload working, 
> however I've come across some problems with the H/W implementation, e.g. 
> it doesn't work with small (<64 byte) packets.
> 
>      So I was wondering if anyone knows of any test tools I can use to 
> fire all the different unusual sort of packets at the interface to see 
> how the H/W csum reacts, i.e. runt packets, packets with IP options, 
> IPv6 packets with extension headers, etc.

There are various commercial tools and test suites, and I would expect
that most vendors of network controllers and IP blocks have their own
test suites that attempt to cover this.  I know Solarflare has used
tools from Oktet Labs (see <http://www.oktetlabs.ru/test_env.rhtml>)
among others.

>      Another question I had was; is there a kernel function to generate 
> a random MAC address ? Or is there a FreeBSD (or FOSS equivalent) 
> Ethernet manufacturer ID I could use for randomly generated MAC addresses ?
[...]

You can use any (almost) any address with byte 0 bit 0 cleared (not
multicast) and byte 0 bit 1 set (locally assigned).  I don't know
whether FreeBSD has a function for this, but Linux has one which just
gets 6 random bytes and then changes the first byte to conform to this.

There are a small number of old OUIs which should be avoided; see
<http://thread.gmane.org/gmane.linux.network/195545>.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.



More information about the freebsd-net mailing list