Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!seismo!columbia!chris From: chris@columbia.UUCP Newsgroups: comp.unix.wizards Subject: Re: rwho problems between 4.2 and 4.3 hosts Message-ID: <4630@columbia.UUCP> Date: Tue, 26-May-87 08:39:38 EDT Article-I.D.: columbia.4630 Posted: Tue May 26 08:39:38 1987 Date-Received: Wed, 27-May-87 03:14:05 EDT References: <7523@brl-adm.ARPA> <12249@topaz.rutgers.edu> <1158@sigi.Colorado.EDU> Reply-To: chris@columbia.edu (Chris Maio) Distribution: world Organization: Columbia University Lines: 30 Keywords: gateway, ifconfig, broadcast In article <1158@sigi.Colorado.EDU> forys@boulder.Colorado.EDU (Jeff Forys) writes: >In article <12249@topaz.rutgers.edu> hedrick@topaz.rutgers.edu >(Charles Hedrick) writes: >> However you can set the broadcast address in 4.3 using ifconfig. >> Reasonable things to try are 128.x.0.0 and 0.0.0.0 [...] >From what I've determined, this causes a problem iff the machine is a gateway >on a class B net where only the subnet addr is different. Given an address of >`128.net.0.0', and two interfaces `128.net.sub1' and `128.net.sub2', it cant >decide which one to use, and broadcast packets never get out. Packets get out >if you set the broadcast address to `128.net.sub.{0,1}', leaving a nasty >kernel hack as the only way to get `128.net.0.0' out of a gateway. >Can anyone confirm/deny the above behavior? You're mostly right; with 4.3bsd networking code, if you have subnets enabled, 128.x.0.0 is interpreted as a host on subnet zero, and the kernel won't recognize that as a broadcast address regardless of what the per-interface broadcast address is set to. You can set up a fake route so that packets addressed to 128.x.0.0 would normally be sent to one or another of your subnet interfaces, but most of the programs that send broadcasts (rwhod, routed, etc) explicitly bypass the route table. If each interface has a unique broadcast address, or you don't care mind having all the 128.x.0.0 broadcasts going only to one subnet, you can get around the problem with some simple fixes to in_broadcast() and ip_output(), but in general, trying to use non-subnet broadcast addresses throughout a subnetted network will open up a real can of worms. Chris