[comp.sys.sun] 4.1 and netmask problem/solution

rogers@dadla.wr.tek.com (Roger Southwick) (11/21/90)

Greetings.  I uncovered a problem with my new 4/490 (running 4.1 PSR A)
and ifconfig.

Our network(s) are class B based (134.YY).  We further sub-divide the
network into separate nets via a Network Systems Corp router.  We have 12
nets here, and our numbering starts at 11 (1-10 reserved for soemthing).

My 490 lives on 134.YY.NN, and has an IP address if 134.YY.NN.HH there are
also nets 134.YY.MM, 134.YY.PP, and so forth.  So I set the netmask to
255.255.255.0 (on a LOT of machines).

Now the problem.  On every OTHER machine I have (Sun3's (4.0.1), Sun SS1's
(4.0.3), Vaxen (4.3 BSD, Ultrix 3.1), etc), I can, after the machine is up
do a: 'ifconfig IF netmask 255.255.255.0' and it takes the command and
works fine.

On the 4/490 however, this won't work.  It takes the command, and even a
'ifconfig IF' shows things got set correctly, but then trying to 'ping -s'
anything  (including the machine itself via it's 134.YY.NN.HH address)
results in a "sendto: Host is unreachable" error.

Do a: 'ifconfig IF netmask 255.255.0.0', and the world is happy again.

I called this into Sun, and after spending some time on my own I found the
fix.  I found that by doing:

	ifconfig IF HOSTNAME netmask 255.255.255.0

things worked fine.

Just thought I'd pass this along.  I'd also be interested in hearing
anyone else's problems with this.

    -Roger      (rogers@dadla.wr.tek.com)
		UUCP:	...!uunet!tektronix!dadla.wr.tek.com!rogers
		ARPA:	<@RELAY.CS.NET:rogers@dadla.wr.tek.com>

medin@cincsac.arc.nasa.gov (Milo S. Medin) (12/08/90)

The problem is that in SunOS 4.1, they do some cute shell programming to
pull out the IP address out of the hostname.xx0 file.  This is great,
because this way the rc.* files can be the same on all the clients, and
only the stuff in /etc needs to be different.  The problem is that define
the IFS to "." in this little loop, and this causes the .'s in the IP
netmask or broadcast settings to be turned into spaces!  Just do a sh -v
-x /etc/rc.local and see what the shell actually thinks it's chewing on,
and it's pretty clear what the problem is.  The fix is to specify the
netmask and broadcast address in hex, which has no .'s in it, and this
will get left alone by the shell processing and work.  It took a while for
us to figure this out, though SUN software support should have known.

This is actually very useful, as now configuring new clients is very easy,
and we can rdist updates of system configuration files around without have
to resort to ugliness in dealing with the individual workstation
configuration details.  Kudo's to Sun for this!  It's a great idea.  Now
all they need to do is make sure the Sunlink products don't mess with the
rc files either!

						Thanks,
						    Milo