2004-03-17 13:44:14

by RANDAZZO

[permalink] [raw]
Subject: Arp Implementation Example....

All;

I am developed a network driver for my fibre channel device. I've used the
O'Reilly Linux Device Driver's "snull.c and snull.h" as an
example.

Problem is this example does not implement ARP. After many attempts, I
can't seem to pass an ARP packet successfully up
the stack......

Does anyone know of an example driver / website that shows the formatting
and responsibility of the network driver, with regards
to ARP?

Any help is much appreciated...

BTW, I'm using Linux 2.4....

"This message may contain company proprietary information. If you are not
the intended recipient, any disclosure, copying, distribution or reliance on
the contents of this message is prohibited. If you received this message in
error, please delete and notify me."


2004-03-17 14:32:28

by Matti Aarnio

[permalink] [raw]
Subject: Re: Arp Implementation Example....

On Wed, Mar 17, 2004 at 08:39:37AM -0500, [email protected] wrote:
> All;
>
> I am developed a network driver for my fibre channel device.
> I've used the O'Reilly Linux Device Driver's "snull.c and snull.h"
> as an example.
>
> Problem is this example does not implement ARP. After many attempts, I
> can't seem to pass an ARP packet successfully up
> the stack......

ARP-request is just one more of network packets that are passed
up into network code like any other by calling netif_rx().
As long as the packet is recognizable by the upper layers as
an SKBUF with ARP request, all will be fine.

Oh yes, not all network interfaces need to support ARP at all.
The PPP is one such example. Nor do all ARP request frames carry
same tags as ethernet ARP does. Nevertheless one can pass ARP-
requests thru a PPP link. See drivers/net/ppp* files about
how that is handled.

> Does anyone know of an example driver / website that shows the formatting
> and responsibility of the network driver, with regards
> to ARP?
>
> Any help is much appreciated...
>
> BTW, I'm using Linux 2.4....

/Matti Aarnio

2004-03-17 14:48:56

by RANDAZZO

[permalink] [raw]
Subject: RE: Arp Implementation Example....

But how should the skb look when I pass it up?

I think it matters on the type of the netdevice.....

-Mike


-----Original Message-----
From: Matti Aarnio [mailto:[email protected]]
Sent: Wednesday, March 17, 2004 9:32 AM
To: [email protected]
Cc: [email protected]; [email protected]
Subject: Re: Arp Implementation Example....


On Wed, Mar 17, 2004 at 08:39:37AM -0500, [email protected] wrote:
> All;
>
> I am developed a network driver for my fibre channel device.
> I've used the O'Reilly Linux Device Driver's "snull.c and snull.h"
> as an example.
>
> Problem is this example does not implement ARP. After many attempts, I
> can't seem to pass an ARP packet successfully up
> the stack......

ARP-request is just one more of network packets that are passed
up into network code like any other by calling netif_rx().
As long as the packet is recognizable by the upper layers as
an SKBUF with ARP request, all will be fine.

Oh yes, not all network interfaces need to support ARP at all.
The PPP is one such example. Nor do all ARP request frames carry
same tags as ethernet ARP does. Nevertheless one can pass ARP-
requests thru a PPP link. See drivers/net/ppp* files about
how that is handled.

> Does anyone know of an example driver / website that shows the formatting
> and responsibility of the network driver, with regards
> to ARP?
>
> Any help is much appreciated...
>
> BTW, I'm using Linux 2.4....

/Matti Aarnio

"This message may contain company proprietary information. If you are not
the intended recipient, any disclosure, copying, distribution or reliance on
the contents of this message is prohibited. If you received this message in
error, please delete and notify me."