[comp.protocols.appletalk] Need Help building Rutgers CAP

scarpell@cnca.cnca-cam.fr (Claude Scarpelli) (10/04/90)

In a previous message I wrote :

I'm in trouble building Rutgers CAP on SunOS 4.1. Here is my configuration :


                                                      Ethernet backbone
---------------------------------------------------------------------------
   |                                                     |
   |                                                     |
   |                                                 ------------
   |                                                 |  4/470   |
   |                                                 | SunOS 4.1|
---------                                            ------------         
|       | LocalTalk ---------------
|       |-----------| LaserWriter |
---------           ---------------
MacII MacOS
EtherPortII
Appletalk Phase 2
AppleTalk Internet Router


We have two AppleTalk zones : 
	PCD		on LocalTalk  (Network number 11)
	CEPHOM-RED	on EtherTalk  (Network number 25)


[stuff deleted...]

Tim Rylance (tkr@praxis.co.uk) give me the following patches 


>I'm in trouble building Rutgers CAP on SunOS 4.1.

I had the same problems:

  1. aarpd starts OK and acquires a node number
  2. atis starts OK but doesn't discover EtherTalk network number
     (even though it sees RTMP packets from Kboxes)
  3. aarptest always says "nis 0.0"
  4. atistest fails to register a service, as does aufs.

(I have a small network - a single ethernet backbone with 3 Kboxes
running K-Star 7.0, a bunch of Suns, and about 15 Macs with ethernet
cards.  I don't run atalkad.)

I fixed things with the following patches:

*** lib/cap/aarpd/aarpd.c-	Sat Jul 28 22:30:52 1990
--- lib/cap/aarpd/aarpd.c	Tue Oct  2 17:20:56 1990
***************
*** 79,85 ****
    init_fdlistening();  /* low level scheduler */
    etalk_init(&id, FALSE);
  
!   this_node = etalk_mynode(&id);
  
    printf("Acquired node number %d\n", this_node);
  
--- 79,85 ----
    init_fdlistening();  /* low level scheduler */
    etalk_init(&id, FALSE);
  
!   this_node = nis_node = etalk_mynode(&id);
  
    printf("Acquired node number %d\n", this_node);
  
*** etc/atis.c-	Sat Jul 28 08:50:51 1990
--- etc/atis.c	Tue Oct  2 17:24:32 1990
***************
*** 653,658 ****
--- 653,660 ----
    net = *(u_short *)pkt;
    log(7, "Got RTMP pkt net %d from %d.%d", net, addr->net, addr->node);
  
+   if (addr->net == 0) addr->net = net;	/* tkr: must be our net */
+ 
    if (net == addr->net)
      SetMyAddr(addr);
  
Initializing nis_node in aarpd is a "good guess", it would be better to do it
in atis but I couldn't stomach #include "../lib/cap/enacps/sharedpage.h"
(or rearranging the source tree).  This should make the package work on
an isolated EtherTalk network (no routers), though I have not tested this
configuration yet.

The change to atis makes it acquire the network number from the "Sender's
network number" of the first RTMP packet it sees.  "Inside AppleTalk" (1st ed)
says on page 5-12 "this field allows the receiver of the packet to determine
the network number through which the packet was received".

Have I missed something?  Comments and flames welcome...

Tim Rylance
tkr@praxis.co.uk
-----------

Thanks a lot Tim. But in my network (a network without FastPath) who can
send the sun a RTMP packet (Is AppleTalk Internet Router should do that ?)

So, I applied the patches and here is the results :

$ cat /etc/atalk.local
enet0   cephom-red
$
According to atalk.local(5), I only need the name of the enet device
(/dev/enet0) and the zone name (cephom-red), because I'm using EtherTalk.
I DON'T HAVE ANY FASTPATH
Next, I run aarpd (as root)
# aarpd -D 9
Acquired node number 96
#
in lib/cap/aarpd, there is a program called aarptest :
#aarptest
zone cephom-red this 0.96 gw 0.0 nis 0.96 intf enet0
#
====> Good ! : nis = 0.96 (before, nis = 0.0)

Then, I test atlook
# atlook
abInit: [ddp:   0.00, 96] starting
Looking for =:=@* ...
# echo $?
1
#
The standard output of aarpd (remember, I use aaprd -D 9) is :
aarpd: 12:50:13 10/04/90  request for 0

aarpd: 12:50:14 10/04/90  request for 0

aarpd: 12:50:15 10/04/90  request for 0

aarpd: 12:50:15 10/04/90  request for 0

====> Nothing better than yesterday ...

# atlook -d ldanpis
abInit: [ddp:   0.00, 96] starting
debugging LAP
debugging ATP
debugging NBP
debugging DDP
debugging PAP
debugging INI
debugging ASP
Looking for =:=@* ...
NBP SndNBP: sending
NBP nbp_timeout: 3 tick timeout on -134219000, 3 remain
NBP SndNBP: sending
NBP nbp_timeout: 3 tick timeout on -134219000, 2 remain
NBP SndNBP: sending
NBP nbp_timeout: 3 tick timeout on -134219000, 1 remain
NBP SndNBP: sending
NBP nbp_timeout: 3 tick timeout on -134219000, 0 remain

And the output of aarpd is :
aarpd: 12:52:45 10/04/90  request for 0

aarpd: 12:52:46 10/04/90  request for 0

aarpd: 12:52:47 10/04/90  request for 0

aarpd: 12:52:48 10/04/90  request for 0

====> Any comments ?

And now, try atis :
#
# atis -D 9
abInit: [ddp:   0.00, 96] starting
atis: Thu Oct  4 12:54:51 1990 Reply num max for lkup reply is 5 (based on 104)
atis: Thu Oct  4 12:54:52 1990 pid = 2328

# atistest 
CAP distribution 5.00 using UDP encapsulation, March 1988
Copyright (c) 1986,1987,1988 by The Trustees of Columbia University in the City of New York

abInit: [ddp:   0.00, 96] starting
debugging NBP
Registering "atis test:testing@*"
NBP SndNBP: sending
NBP nbp_timeout: 4 tick timeout on -134218988, 3 remain
NBP SndNBP: sending
NBP nbp_timeout: 4 tick timeout on -134218988, 2 remain
NBP SndNBP: sending
NBP nbp_timeout: 4 tick timeout on -134218988, 1 remain
NBP SndNBP: sending
NBP nbp_timeout: 4 tick timeout on -134218988, 0 remain
NBP SndNBP: sending
NBP status done: found -134218988
Okay                <===== Really ? 

Here is the output of atis :
atis: Thu Oct  4 12:55:43 1990 Got nbp 0 lkup from net 0.0, node 96, skt 130
atis: Thu Oct  4 12:55:43 1990 Register from net   0.00 node 96 skt 130 
atis: Thu Oct  4 12:55:43 1990  for atis test:testing@*, net   0.00 node 96 skt 129 
atis: Thu Oct  4 12:55:43 1990 register: NVE count is 1
atis: Thu Oct  4 12:55:43 1990 Register return code 0

====> It's seems that the test service is well registered, isn't it ?

So, I retry atlook :
# atlook
abInit: [ddp:   0.00, 96] starting
Looking for =:=@* ...
# echo $?
1

====> Nothing better...

====> another question : the network number(25) (as defined in the 
AppleTalk Internet Router) appears nowhere : stange, isn't it ?

Anybody cam help me ?
Thank's in advance

rapatel@khnphwzhn.njin.net ( Rakesh Patel) (10/04/90)

The problem with seeding the network number on a network without any
other Appletalk routers is one of the changes that need to be made to
the "beta" version of the Rutgers CAP distribution that Charles
Hedrick made available. I'll be working on getting all the changes
into it soon.


Rakesh Patel.