wales@cs.ucla.edu (Rich Wales) (04/05/89)
I am looking for some kind of "dummy" network interface driver into which I can plop an Internet address and a subnet mask. For example, a SLIP (serial-line IP) network interface driver; or, a "loopback" driver that will allow me to have *two* separate loopback addresses. I need this for both SunOS 3.5 and 4.0.1 (though I won't complain if one person can get me something for 3.5, and another for 4.0.1). The reason I need this is so I can work around a misfeature in the SunOS (actually 4.3BSD) networking code. This code won't permit a host to have a route to a *subnet* of a network unless the host itself has an interface on that network. This is because the subnet mask is a func- tion of the *interface* ("ifconfig" command) -- *not* the route itself. This misfeature is creating a serious problem for us here at UCLA. We here in the CS Department are about to move all our hosts from our pres- ent Class B network (128.97) to a new Class B network (131.179). Other machines on campus -- not part of CS -- will be keeping their 128.97 addresses. For various operational and/or political reasons, we want/need to keep a couple of "back-door" routes between our new network and some selected subnets of the 128.97 network. However, we are unable to set up the necessary routes on our Suns (some of which are running 3.5, and some, 4.0.1) -- because, once these machines give up their current 128.97 addresses and move to subnets of 131.179, they will no longer accept routes to individual 128.97.XXX subnets -- only a single route to the 128.97 network as a whole (which is no good, because general 128.97 traffic needs to be routed differently from the traffic to the individ- ual "back-door" subnets). Based on experiments with an IBM RT/PC running the ACIS 4.3BSD port, it appears that we can get around this impasse by configuring an unused SLIP link with a bogus 128.97 address *and associating the desired sub- net mask* with that interface. Even though said SLIP link is in fact not being used, the presence of the configured address and subnet mask seems to be sufficient to get the system to understand how the 128.97 network is subnetted -- which in turn allows me to specify routes to individual subnets of 128.97, where otherwise I could not. However, neither SunOS 3.5 nor 4.0 has SLIP; at least, there isn't a SLIP driver in either distribution as far as I can tell. [[ No, but there are public domain slip drivers available for both versions of the operating system. And you don't need a kernel source distribution to install them, either. --wnl ]] Another idea I had was to generate a kernel with *two* "loopback" interfaces. I would assign the usual address (127.0.0.1) to "lo0", of course; but then I could configure "lo1" with a bogus subnetted 128.97 address. Unfortunately, SunOS 3.5/4.0 only comes with a single loop- back interface, and I can see no obvious way to generate a second one. (We don't have 3.5 sources, BTW -- though we do have 4.0 sources.) I tried setting up a kernel configuration file with *two* lines saying "pseudo-device loop", but this appears to have had no effect whatever. Restructuring the way the subnets of 131.179 will be gatewayed together, in order to hide all our Suns behind RT gateways that have SLIP and can thus be taught the "back-door" routes -- is not feasible. A few Sun workstations can be treated in this way, but our six Sun 3/280's cannot; either we figure out how to teach them about the "back-door" routes, or we are tough-out-of-luck. Does anyone have anything to offer that could help us out of our pre- dicament? I know some people may think that "back-door" routes of this kind are an evil abomination, but the reality of this particular situa- tion is that we simply *have* to figure out a way to do them. -- Rich Wales // UCLA Computer Science Department // +1 (213) 825-5683 3531 Boelter Hall // Los Angeles, California 90024-1596 // USA wales@CS.UCLA.EDU ...!(uunet,ucbvax,rutgers)!cs.ucla.edu!wales