[comp.sys.ibm.pc.rt] Multiple network interfaces

davison@cs.utk.edu (Michael Davison) (03/20/91)

I've written a device driver for the Western Digital 8003e ethernet
controller for AIS4.3 (the BSD port)  and although intial tests are
encouraging I seem to have trouble setting up two network inerfaces.
The other, "standard" interface is the Ungermann-Bass ether controller.

Anyone have any experience getting an RT to work with 2 ethernet
connections? Thanks in advance for any help.

Mike
--------------------------------------------------------------------------
Michael Davison | davison@cs.utk.edu | University of Tennessee, CS dept.

webb@ibmpa.awdpa.ibm.com (Bill Webb) (03/21/91)

In article <1991Mar20.021513.13432@cs.utk.edu>, davison@cs.utk.edu (Michael Davison) writes:
|> I've written a device driver for the Western Digital 8003e ethernet
|> controller for AIS4.3 (the BSD port)  and although intial tests are
|> encouraging I seem to have trouble setting up two network inerfaces.
|> The other, "standard" interface is the Ungermann-Bass ether controller.
|> 
|> Anyone have any experience getting an RT to work with 2 ethernet
|> connections? Thanks in advance for any help.
|> 
|> Mike
|> --------------------------------------------------------------------------
|> Michael Davison | davison@cs.utk.edu | University of Tennessee, CS dept.

What appears to be the problem? We quite often have multiple network
interfaces up at the same time - usually two Ungermann-Bass devices, or 
a UB and a token-ring or a microchannel driver (for the 6152 with > 1 cpu).

There isn't much magic to it, you just manually ifconfig the device
(e.g. ifconfig xx0 ${host} netmask ${netmask}  where xx0 is your device
and $host and $netmask are your appropriate values for your machine.

One can also put the appropriate entries in /etc/rc.config so that it 
gets done at boot time.

For the second network the entries to change in /etc/rc.config are
(from my machine):

# The secondary network device on the machine
network_2='un1'

# Additional flags to be passed to ifconfig for the
# second network adapter
net_flags_2='netmask 0xffffff00'

# The secondary hostname of the machine
hostname_2='bass2'

One common problem that might be hitting you is that some network adapters
cannot broadcast to themselves. For this reason the drivers must
also copy broadcast packets to the loopback device. If this isn't done then 
routed will detect that it cannot hear its own broadcast's and delete 
the interface. If your device works for a minute or two and then stops 
and an ifconfig or netstat -i indicates that it has been configured down
this may be the problem. Take a look at /sys/caif/if_ec.c for an example
of a driver that sends packets to the loopback device.

----------------------------------------------------------------
The above views are my own, not necessarily those of my employer.
Bill Webb (IBM AWD Palo Alto, Ca.), (415) 855-4457.
UUCP: ...!uunet!ibmsupt!webb INTERNET: webb@ibminet.awdpa.ibm.com