netdev
[Top] [All Lists]

Net device queries.

To: netdev@xxxxxxxxxxx
Subject: Net device queries.
From: Bill Leckey <bleckey@xxxxxxxxxx>
Date: Mon, 11 Nov 2002 02:30:09 +1100
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020514
I've been coding an ethernet driver for some new hardware we're
developing and while it's working, there are a few issues I'm still
unsure of. I couldn't find any archives for this list, so I'm
suspecting I'm going to cover a lot of 'old ground'. Most of my info for coding ethernet drivers comes out of Rubini and Corbet's LInux Device Drivers, and what I've gleaned from kernel sources


Firstly some background.  With these cards I can have up to 25 point to
point connections (to the same destination machine, or 25 destination
machines).  I have almost total control of what goes out on the wire, so
I've chosen a minimal header that contains the type (passed in to
hard_header) and a 16 bit field that contains misc other information.
So, 32 bits, plus the data.  The hardware provides things like length,
and CRC checking.

Currently I'm setting dev->hard_header_len to 4.

The part that concerns me is what I set dev->type, dev->addr_len and
dev->flags to.

We don't technically have a hardware address so I set dev->addr_len to 0.

I set dev->type to ARPHRD_VOID, simply because I'm not sure what the
consequences of setting it to anything else are.

I set dev->flags to IFF_POINTOPOINT | IFF_NOARP

This appears to all work correctly, however both ifconfig and tcpdump
aren't really happy.

TCPDUMP doesn't know what to do with the ARPHRD_VOID and drops to 'raw'
mode, so it still does what I need, even if it prints an annoying
message for each packet.

ifconfig isn't sure what to do about the HWaddr.  For instance, this is
the ifconfig for one of the links:


hssl0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.2.1 P-t-P:192.168.2.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MTU:1500 Metric:1 RX packets:3509748 errors:459 dropped:0 overruns:0 frame:363 TX packets:3013210 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:368907445 (351.8 Mb) TX bytes:266074976 (253.7 Mb)

Any thoughts, comments or otherwise on what I've done, or what I
/should/ be doing would be appreciated as I'm still not fully across how
the networking stuff works.

Bill

--
Bill Leckey - Senior Software Design Engineer
TPG Research and Development
Ph: +61 2 62851711
Fax: +61 2 62853939


.



<Prev in Thread] Current Thread [Next in Thread>