new interfaces code - testers needed on lots of OSes
tridge at linuxcare.com
tridge at linuxcare.com
Mon Aug 30 13:29:52 GMT 1999
I need some testers for a new set of interface probing routines. These
routines work out what interfaces exist on a box so you don't need an
interfaces= line in smb.conf.
The reason I'm bothering with this is that I saw several sites
recently that had a nasty problem with Samba servers on dhcp driven
networks, where no interfaces line is valid. That made me rethink the
whole interfaces= method. What I'm hoping to do is:
1) if you use a interfaces= line then you can either give IP/mask as
you do now or instead give a bcast/mask and Samba will work out the
IP from the interfaces list
2) you can give interfaces by name (eg "eth0"). You can also use
wildcards like "eth*"
3) a HUP to nmbd will re-scan the interfaces list and re-start if it
has changed
4) if no interfaces line is given and gethostname() returns a host
whos address is 127.0.0.1 then use the first interface that is
broadcast capable and is not loopback.
to support this we need a reliable method of getting the complete list
of interfaces including their names, IP addresses and netmasks. I've
written that code (based on lib/netmask.c) and have it working on
Linux, SunOS4, SunOS5, IRIX 6.4 and AIX 4.2. Now I need it tested on
lots more OSes to see if it is sufficiently portable.
The code is at ftp://samba.org/pub/tridge/misc/interfaces.c
to test it try the following 3 compile methods in turn:
cc -o interfaces interfaces.c -DAUTOCONF -DHAVE_IFACE_IFCONF
cc -o interfaces interfaces.c -DAUTOCONF -DHAVE_IFACE_IFREQ
cc -o interfaces interfaces.c -DAUTOCONF -DHAVE_IFACE_AIX
then test each by running the binary and seeing if it correctly lists
the available interfaces. Note that you do not need to do this as
root.
I expect to get something like:
eth0 192.168.2.128/255.255.255.0
vmnet1 192.168.114.1/255.255.255.0
lo 127.0.0.1/255.0.0.0
got 3 interfaces
if you get something that differs signifcantly from the output of
"netstat -in" then please let me know what OS you are running or send
me a patch to fix the interfaces.c code.
Thanks!
More information about the samba-technical
mailing list