[comp.sys.apollo] TCP/IP frustration

thompson@PAN.SSEC.HONEYWELL.COM (John Thompson) (02/18/91)

OK -- I've had it.

I'm trying to reset TCP/IP services on a gateway (ether/ring, dn10k) in our 
network.  The node USED to run name-server lookup (it is a secondary name-
server for the net too), and have the same name for both of its addresses.  
The name->address lookup gave the ethernet address, since that was closer to
the outside world.

I want the node to NOT use name-server lookup (although it'll still offer
named services).  It will now have 2 different names, so that there's a 
1:1 and onto correspondence between name and address.

Why?  (I just had to answer).  <FLAME ON>
Cadence, in their finite wisdom, decided to write their own gethostname 
routine.  Thus, name-servers tend to confuse/break their license/data 
manager.  Not only did they do that, but they also broke the routine!  
It 'sometimes' fails in the case where there are multiple addresses with 
the same name.  It also doesn't recognize the full domain name, so thinks 
that 'bregor' and 'bregor.ssec.honeywell.com' are 2 different nodes.  Now 
that we're putting data-files on the dn10k, it needs to have the data mgr 
running (provides file locking for brain-dead Sun workstations, and they 
insist on it on the wonderful Apollos too).  This means that I have to break 
TCP/IP so that it will work.  <FLAME OFF> 
The problem is that the Apollos seem to keep some internal host information 
as long as they're up.

Here's what I did:  After making the necessary changes to /etc/rc.local, 
/etc/daemons/*, /etc/hosts, and /etc/named.data/*, I aborted all TCP services
on the node.  I then deleted the `node_data/systmp/tcp_data and my_inet_addr
files.  Then, I restarted TCP services (they start up fine).  From any other 
node in the network, if I PING one of the 2 names, I get a response coming
back from the correct address.  However, if I'm on the node itself, and PING
the ORIGINAL name, I get a response with the full domain name, AND from the
original (now wrong) interface.  SOMEWHERE in its kernel, the node is clinging
tightly to the fact that 'bregor' is really bregor.ssec.honeywell.com and has
an ethernet address (rather than a ring one).  When I had to do this to our
other gateway, I ended up rebooting the node to get it cleared out.  Is there
an easier way?  (Is there any way?)  I really don't want to reboot the node.

-- jt --
John Thompson
Honeywell, SSEC
Plymouth, MN  55441
thompson@pan.ssec.honeywell.com

Me?  Represent Honeywell?  You've GOT to be kidding!!!

ericb@srvr1 (Eric Bratton,235 Chry,9363561,) (02/19/91)

From article <9102181504.AA03886@pan.ssec.honeywell.com>, by thompson@PAN.SSEC.HONEYWELL.COM (John Thompson):
> Why?  (I just had to answer).  <FLAME ON>
> Cadence, in their finite wisdom, decided to write their own gethostname 
> routine.  Thus, name-servers tend to confuse/break their license/data 
> manager.  Not only did they do that, but they also broke the routine!  
> It 'sometimes' fails in the case where there are multiple addresses with 
> the same name.  It also doesn't recognize the full domain name, so thinks 
> that 'bregor' and 'bregor.ssec.honeywell.com' are 2 different nodes.  Now 
> that we're putting data-files on the dn10k, it needs to have the data mgr 
> running (provides file locking for brain-dead Sun workstations, and they 
> insist on it on the wonderful Apollos too).  This means that I have to break 
> TCP/IP so that it will work.  <FLAME OFF> 

We have the same problem.  I hope Cadence fixes the problems with their
software as soon as possible!

Might I suggest another workaround?  As far as I can tell (we don't run
the data mgr), Dracula will still work as long as the /bin/hostname
is set to the non-domain hostname without terrorizing name service for
a network.  Running "/bin/hostname bregor" in the /etc/rc file on the
node should make the standalone programs run.  It's a pretty ugly thing
to do, tho.
If you need a daemon to run with the contents of the /etc/hosts file,
then try out the sequence:

# sequence to run a program using the /etc/hosts file.
/bin/hostname foo  # cadence bug won't allow "foo.acme.com"
/etc/nmconfig -h hostent_ascii
# start daemon here
/etc/server -p /idea/...datamgr... &
# now start up everything else to use bind
/etc/nmconfig -h hostent_bind
# everything from here on out will use the name server.

The real solution, of course, it to make sure Cadence fixes their software.
Their node-lock scheme uses the node id, I don't see anything to be gained
from fiddling with the hostnames.

--
*-----------------------------------------------------------------*
| Eric Bratton                | The University of Michigan, Inc   |
| ericb@caen.engin.umich.edu  | #include <std.disclaimers>        |
*-----------------------------------------------------------------*

randall@bcstec.boeing.com (Michael Randall) (02/19/91)

In article <9102181504.AA03886@pan.ssec.honeywell.com>, thompson@PAN.SSEC.HONEYWELL.COM (John Thompson) writes:
> ......  However, if I'm on the node itself, and PING
> the ORIGINAL name, I get a response with the full domain name, AND from the
> original (now wrong) interface.  SOMEWHERE in its kernel, the node is clinging
> tightly to the fact that 'bregor' is really bregor.ssec.honeywell.com and has
> an ethernet address (rather than a ring one).  When I had to do this to our
> other gateway, I ended up rebooting the node to get it cleared out.  Is there
> an easier way?  (Is there any way?)  I really don't want to reboot the node.
> John Thompson > Honeywell, SSEC

To clear the "memory" copy of hosts information use "/etc/route -f".
This will "Flush" the hosts information. I'm not sure if it will solve
all your problems. But it will get rid of the hosts info in memory. To
check the host info in memory use "/bsd4.3/usr/bin/netstat -r". Just to
see that the "route -f" works you may want to run this command before and
after trying it.

-- 
---------------------------------------------------------------------------
  Michael W. Randall        Work phone: (206)965-9557  
  randall@bcstec.boeing.com or mwr6182@skagway@bcsaic@uw-beaver
   ...!uunet!bcstec!randall