2002-11-19 16:55:31

by folkert

[permalink] [raw]
Subject: local link configuration daemon?

Hi,

I just read this RFC on 'local link configuration' (mirrored at
http://keetweej.vanheusden.com/~folkert/draft-ietf-zeroconf-ipv4-linklocal.t
xt ) and I was wondering: is this planned to be in the kernel? Or should
occur this in userspace? (and if so; does it exist? freshmeat/google say it
doesn't)
Initially I thought I just configure an ip-address in that range on an
adapter, but then I read that there is this whole protocol of sending and
receiving arp-requests etc.


Folkert van Heusden


2002-11-19 17:20:36

by Oliver Neukum

[permalink] [raw]
Subject: Re: local link configuration daemon?

Am Dienstag, 19. November 2002 18:02 schrieb Folkert van Heusden:
> Hi,
>
> I just read this RFC on 'local link configuration' (mirrored at
> http://keetweej.vanheusden.com/~folkert/draft-ietf-zeroconf-ipv4-linklocal.
>t xt ) and I was wondering: is this planned to be in the kernel? Or should
> occur this in userspace? (and if so; does it exist? freshmeat/google say it
> doesn't)
> Initially I thought I just configure an ip-address in that range on an
> adapter, but then I read that there is this whole protocol of sending and
> receiving arp-requests etc.

Brad Hards has done a preliminary implementation that runs in user space.

HTH
Oliver

2002-11-19 21:20:21

by Brad Hards

[permalink] [raw]
Subject: Re: local link configuration daemon?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 20 Nov 2002 04:27, Oliver Neukum wrote:
> Am Dienstag, 19. November 2002 18:02 schrieb Folkert van Heusden:
> > Hi,
> >
> > I just read this RFC on 'local link configuration' (mirrored at
> > http://keetweej.vanheusden.com/~folkert/draft-ietf-zeroconf-ipv4-linkloca
> >l. t xt ) and I was wondering: is this planned to be in the kernel? Or
> > should occur this in userspace? (and if so; does it exist?
> > freshmeat/google say it doesn't)
> > Initially I thought I just configure an ip-address in that range on an
> > adapter, but then I read that there is this whole protocol of sending and
> > receiving arp-requests etc.
>
> Brad Hards has done a preliminary implementation that runs in user space.
It was originally done by Sebastian Kuzminsky. It basically uses the kernel's
packet filter (BPF) and socket code, via Libnet and libpcap. You can get it
from your friendly kernel.org mirror
(http://www.XX.kernel.org/pub/software/network/zcip/, where XX is your
country code).

In the longer term, it might be appropriate to move some of it (the defend
part of the claim-and-defend sequence) into kernel space. I don't think it
makes sense to have it all in kernel space.

However since it is still an i-D, and hasn't reached RFC state, I think it is
better to work up a reference implementation in userspace, and think about
how much might need to be in the kernel (for performance reasons, whatever)
when the RFC is released and we have a little deployment experience.

Brad
- --
http://linux.conf.au. 22-25Jan2003. Perth, Aust. I'm registered. Are you?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE92qoMW6pHgIdAuOMRAsLhAJ9PBj1DyxSLfPa6JLYUPR81GKhDEwCePEYk
Aznd3lBCdznErhRgtkKNvS4=
=xz4Y
-----END PGP SIGNATURE-----

2002-11-19 22:47:31

by Oliver Neukum

[permalink] [raw]
Subject: Re: local link configuration daemon?


> It was originally done by Sebastian Kuzminsky. It basically uses the
> kernel's packet filter (BPF) and socket code, via Libnet and libpcap. You
> can get it from your friendly kernel.org mirror
> (http://www.XX.kernel.org/pub/software/network/zcip/, where XX is your
> country code).
>
> In the longer term, it might be appropriate to move some of it (the defend
> part of the claim-and-defend sequence) into kernel space. I don't think it
> makes sense to have it all in kernel space.

Definitely, however you've never convinced me how you do the arp related
part in user space at all. It seems to me that you cannot do that unless
you take all arp handling into user space.

Regards
Oliver

2002-11-19 23:13:34

by Brad Hards

[permalink] [raw]
Subject: Re: local link configuration daemon?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 20 Nov 2002 09:51, Oliver Neukum wrote:
> > It was originally done by Sebastian Kuzminsky. It basically uses the
> > kernel's packet filter (BPF) and socket code, via Libnet and libpcap. You
> > can get it from your friendly kernel.org mirror
> > (http://www.XX.kernel.org/pub/software/network/zcip/, where XX is your
> > country code).
> >
> > In the longer term, it might be appropriate to move some of it (the
> > defend part of the claim-and-defend sequence) into kernel space. I don't
> > think it makes sense to have it all in kernel space.
>
> Definitely, however you've never convinced me how you do the arp related
> part in user space at all. It seems to me that you cannot do that unless
> you take all arp handling into user space.
The approach is that there are really two different things happening:
1. Detecting when someone is trying to use our IP
2. Generating an ARP packet (which might be set to our IP, depending on
whether we are claiming or defending)

The first part is easy, as long as you have BPF support. Consider that it is
just a peer to tcpdump, only we don't want all the packets.

The second part is OK, you just need to generate raw packets. The real
functionality is in net/packet/af_packet.c, although I use Libnet
http://www.packetfactory.net/projects/libnet/
in an attempt at portability.

It might help to think of it as generating a single ARP packet (or a packet
that has the ARP format, on the wire), rather than performing the ARP
functionality.

Brad
- --
http://linux.conf.au. 22-25Jan2003. Perth, Aust. I'm registered. Are you?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE92sTYW6pHgIdAuOMRApPFAJ92t006oLBNNw8munGv6K0/aFAtSACeJr+e
A7QQlOwzkRhhhGK+EuyX+D8=
=vGOO
-----END PGP SIGNATURE-----