netdev
[Top] [All Lists]

Net device queries.

To: netdev@xxxxxxxxxxx
Subject: Net device queries.
From: Bill Leckey <bleckey@xxxxxxxxxx>
Date: Wed, 06 Nov 2002 21:11:45 +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'.

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>