[patch] SLP support (+ question)
bhards at bigpond.net.au
Sun Sep 22 23:27:00 EST 2002
-----BEGIN PGP SIGNED MESSAGE-----
On Mon, 23 Sep 2002 08:03, jw schultz wrote:
> On Mon, Sep 23, 2002 at 12:38:14AM +1000, Brad Hards wrote:
> > The attached patch adds "first draft" support for service location
> > protocol, using OpenSLP (http://www.openslp.org). This allows you to
> > automagically discover all the rsync servers on your network (which is
> > defined in terms of your SLP configuration - typically equal to multicast
> > scope, but you can change it around with Directory agents).
> Why? This looks like bloat to me. SLP is really meant for
> GUI client support. Are their any GUI interfaces that are
> using rsync that also want SLP?. Use of an rsync server
> is by invitation only. I don't recall seeing anyone ask for
> this in at least the last 6 months.
The "why" is a bit involved. I am interested in systems that are usable by
normal people. The main issue with networking systems is that it takes a lot
of configuration on both the network layer (eg for an IP address) and the
application layer (for naming and general configuration).
As an example, consider a couple of doctors at a medical conference. They both
have little laptops, and after some discussion, doctor A wants to give doctor
B a copy of a document. They don't have a fileserver or anything like that,
but they have built in wireless, or a USB host-to-host cable, or some
Question: what are the chances that they can get that file from one computer
Answer: right now, only if they both have floppy disks and the document will
fit on a floppy. Otherwise, they have to email it when they get home in a
I think that is failing "normal" people. You shouldn't need network admin
skills to get one file from one laptop to another.
So here is a simple example of how to solve this problem, involving LInux and
some other tools I'm working on:
* Users plug in the USB host-to-host cable to both ends.
* Linux hotplug mechanism loads the right driver(s) for the USB cable on each
* Linux hotplug mechanism invokes a link-local address autoconfiguration tool
to provide unique IP addresses on each host.
* Linux hotplug mechanism invokes a multicast DNS responder on each host, to
do name<->IP lookups.
* Linux hotplug mechanism starts rsync in daemon mode on each host, for an
* rsync registers with slpd.
* User invokes GUI tool, which uses SLP to determine the available rsync
services. There might be more than one if the link-layer has more than two
machines on it, like a wireless link.
* User browses for the various "exchange" services that are being offered
* User uses GUI tool to copy file.
Why rsync? Nice tool, widely available, and [comment] lines mean that the
archives are self-describing.
As for GUI support, there are no clients yet. SLP history shows that client
support lags server support. There is some general SLP support being added to
KDE in 3.1 and 3.2 (done by Tim Jansen). Of course, clients can't do much
without server support, and service templates.
I agree that adding SLP support is going to make rsync bigger. Here is a naive
build of both a clean 2.5.5 version, and one with SLP added.
553787 Sep 23 08:44 ../clean/rsync-2.5.5/rsync
556226 Sep 23 08:39 ./rsync
Of course, you also need the shared library:
54595 Sep 22 19:29 /usr/lib/libslp.so.1.0.0
I don't think that is much "bloat", but it is a compile time option if you
don't want to use it.
> With the value in doubt we could at least wait until the
> "final draft" of SLP.
SLPv2 has issued RFCs and is on standards-track. There might be a SLPv3, but
the API is pretty unlikely to change.
> Having said all that. If the various file-managers (As used
> in KDE, GNOME etc), actually start supporting rsync
> transfers and SLP it might be worth adding. The time to add
> it, if ever, would be when we get requests from the
> file-manger developers who can show us the advantage in their
> source trees.
Obviously it needs to be a completed package. However I think some form of
service-location is worth while (and there are other options, apart from
SLP), and I think this is a problem worth solving. An rsync kioslave has been
talked about before, and I think it'd be cool to be able to put "rysnc://"
into konqueror and get back a list of local services.
http://conf.linux.org.au. 22-25Jan2003. Perth, Australia. Birds in Black.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
-----END PGP SIGNATURE-----
More information about the rsync