Test tools for new network driver

Ben Gray ben.r.gray at gmail.com
Sat Aug 20 10:18:47 UTC 2011


Thanks everyone,

  Cheers for the tips on the mac address, I must admit I wasn't aware of the locally assigned bit in the address.

   As for H/W checksum offloading, the main problem is the datasheet for the chip is under NDA which I'm unwilling to sign, so I'm working off the Linux driver. It seems under Linux if the TCP/UDP checksum fails it reverts to a software calculation and as far as I can tell FreeBSD doesn't do this. Hence it seems under Linux the driver reports incorrect csums but the kernel covers up for it.

And thanks for the tips on network test tools, I'll check 'em it. I was hoping there was a nice FOSS test tool.

Thanks,
Ben

On 20 Aug 2011, at 03:11, Ben Hutchings <bhutchings at solarflare.com> wrote:

> 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