Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Aug 2011 17:40:01 +0100
From:      Vincent Hoffman <vince@unsane.co.uk>
To:        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:  <4E4FE361.3040000@unsane.co.uk>
In-Reply-To: <17D3FAD0-1372-45BA-B4A1-02840B925F1F@gmail.com>
References:  <4E4E3522.6030207@gmail.com> <1313806260.2814.57.camel@deadeye> <17D3FAD0-1372-45BA-B4A1-02840B925F1F@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 20/08/2011 11:18, Ben Gray wrote:
> 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.
I might be wrong but i thought scapy
(http://www.secdev.org/projects/scapy/ and in ports)
was meant to be pretty good for crafting custom packets. I think its
lacking ipv6 though.
there is also nemesis (http://nemesis.sourceforge.net and in ports)
This is based purely on reading too many mailing lists though, I havent
actually needed to use either.

Vince
>
> 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,
>>>
>>>     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.
>>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E4FE361.3040000>