Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Aug 2011 11:18:18 +0100
From:      Ben Gray <ben.r.gray@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: Test tools for new network driver
Message-ID:  <17D3FAD0-1372-45BA-B4A1-02840B925F1F@gmail.com>
In-Reply-To: <1313806260.2814.57.camel@deadeye>
References:  <4E4E3522.6030207@gmail.com> <1313806260.2814.57.camel@deadeye>

next in thread | previous in thread | raw e-mail | index | archive | help
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 s=
oftware calculation and as far as I can tell FreeBSD doesn't do this. Hence i=
t 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 hopi=
ng there was a nice FOSS test tool.

Thanks,
Ben

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

> On Fri, 2011-08-19 at 11:04 +0100, Ben Gray wrote:
>> Hi,
>>=20
>>     I'm not sure if this the right list to post to, but here goes ...
>>=20
>>     I'm currently writing a driver for the SMSC LAN95xx range of USB to=20=

>> Ethernet adapter chips=20
>> (http://www.smsc.com/index.php?tid=3D300&pid=3D135&tab=3D1). The basic RX=
/TX=20
>> works and now I'm trying to get the H/W checksum offload working,=20
>> however I've come across some problems with the H/W implementation, e.g.=20=

>> it doesn't work with small (<64 byte) packets.
>>=20
>>     So I was wondering if anyone knows of any test tools I can use to=20
>> fire all the different unusual sort of packets at the interface to see=20=

>> how the H/W csum reacts, i.e. runt packets, packets with IP options,=20
>> IPv6 packets with extension headers, etc.
>=20
> 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.
>=20
>>     Another question I had was; is there a kernel function to generate=20=

>> a random MAC address ? Or is there a FreeBSD (or FOSS equivalent)=20
>> Ethernet manufacturer ID I could use for randomly generated MAC addresses=
 ?
> [...]
>=20
> 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.
>=20
> There are a small number of old OUIs which should be avoided; see
> <http://thread.gmane.org/gmane.linux.network/195545>.
>=20
> Ben.
>=20
> --=20
> 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.
>=20



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17D3FAD0-1372-45BA-B4A1-02840B925F1F>