[net.lan] Need some 'wizard' help with our ethernet network configuration

bob@anwar.UUCP (Bob Erickson) (08/04/84)

I have just installed our ethernet system connecting our VAX 11/750
and our Pyramid 90x systems.

Everything is working quite well except for a few problems which
are non-critical.  I have spent a little time tracing these problems
down but now turn to the wizards on this net for a little insight
before I go whole hog.

We are using Interlan ethernet boards on both systems which are referred to
on both systems as 'il0'.  After connecting the system, everything worked
fine.  rlogin, rsh, rcp, ftp, and telenet all worked as stated.  The commands
that didn't work were ruptime, and rwho.  But only on the VAX they didn't work.
They worked fine on on the Pyramid, but only reported info about the Pyramid.

I traced it down to the fact that the 'rwhod' process on our VAX determined
that there were no hardware interfaces present with 'BROADCAST' ability and
therefor never sent out or received messages.

In the function 'configure' in rwhod.c, a check is made to see if the
field 'ifr_flags' has the bits 'IFF_BROADCAST|IFF_POINTOPOINT' set.
If they are not set, the interface is ignored.  So now I have no reason
to suspect a fault in rwhod.  Next I compared the ifconfig output from
both systems and got the following result.

Working system (Pyramid):
	/etc/ifconfig il0
il0: 193.0.9.72 flags=63<UP,BROADCAST,NOTRAILERS,RUNNING>

Non Working System (VAX):
	/etc/ifconfig il0
il0: 193.0.9.22 flags=21<UP,NOTRAILERS>

As expected, the BROADCAST flag was not set.  Time to go rummaging through
the driver, where I found that this flag is set in the routine 'ilsetaddr'
in the interlan driver if_il.c.  This routine I believe is called when you
run the /etc/ifconfig command in the rc.local file.  The /etc/ifconfig 
commands are the same on both systems except for the host names of course.

Just to make sure no other process was unsetting this flag I have the 
following two lines in my rc.local file.

/etc/ifconfig il0 `hostname` up -trailers arp	# configure the host
/etc/ifconfig il0 >/dev/console

Where I still get the result printed at the console:

il0: 193.0.9.22 flags=21<UP,NOTRAILERS>

Here's where you come in.

Who could possibly be unsetting the 'IFF_BROADCAST' flag between those two
commands ?

What am i doing wrong ?  If anything I would expect this to work on the VAX
system since thats the main release of 4.2BSD.

Other than this simple problem, the net is working quite well, and installation
was quite straightforward.

If you feel the answer might be generally useful, post it, else direct mail 
please.


						        Thanx

========================================================== Be

Company: 	HHB-Softron
UUCP address:	{ihnp4,decvax,allegra}!philabs!hhb!bob

dave@uwvax.ARPA (08/09/84)

> Working system (Pyramid):
> 	/etc/ifconfig il0
> il0: 193.0.9.72 flags=63<UP,BROADCAST,NOTRAILERS,RUNNING>
>
> Non Working System (VAX):
> 	/etc/ifconfig il0
> il0: 193.0.9.22 flags=21<UP,NOTRAILERS>

Herein lies the problem.  Add a line to your /etc/rc:
	/etc/ifconfig il0 broadcast

Also, this behavior of rwho and ruptime is not acceptable.  We changed them
so that they send their information to a number of specifically named sites
instead of the broadcast.  This allows rwho/ruptime info on networks
that don't have broadcast capability.  It also allows hosts to send the info
to sites on different networks (we now have two here).

-- 
Dave Cohrs @ wisconsin
...!{allegra,heurikon,ihnp4,seismo,ucbvax,uwm-evax}!uwvax!dave
dave@wisc-rsch.arpa

smb@ulysses.UUCP (Steven Bellovin) (08/11/84)

The real problem is that the distributed version of ifconfig is buggy,
and gratuitously resets some flags.  If you have a fixed version, you
wouldn't have to issue it twice.  (You should have seen what the buggy
version did to Salkind's DEUNA driver, by resetting the RUNNING flag....)