Subject: [netatalk-admins] netatalk-1.4b2+asun2.1.0 on a Solaris 2.6x86 compiles - sorta works

From: Bob Atkins <[email-masked]>
Date: Wed, 30 Sep 1998 01:54:07 -0700 (PDT)

> Previously...
> >Yes, I have installed those and we have seen a performance improvement
> >however we are dealing with several Mac systems, some still running
> >MacOS 7.5. We are determining whether we can install Appleshare v1.34
> >from MacOS8.1 into MacOS 7.5 systems and get ASIP support as well as
> >support for >2GB volumes. CAP/pl199+afp/tcp patches support large
> >volumes but returns erroneous volume sizes for old Appleshare clients.
> >I haven't been able to figure out an elegant fix that will support both
> >older Appleshare clients and later Appleshare v1.34 clients. I have
> >confirmed that Appleshare v1.34 will work properly under MacOS 8.0 with
> >>2GB volume sizes.
> 
> Err? I'm not sure what AppleShare 1.34 is. I'm accustomed to talking
> about AppleShare 3.[6-8]*... In any event, OpenTransport 1.1.2 is
> required by AppleShare 3.7, which is the earliest AppleShare I've seen
> that supports afp over TCP. I *think* that OT1.1.2 requires System
> 7.5.1. Not sure about >2^^31 bytes problems though.

[early morning haze clearing] - ah, yes, I meant Appleshare v3.7.4 (too
many versions to keep track of). I'll let you know the results of our
tests.

Well now for the interesting stuff. I have successfully compiled and
installed netatalk-1.4b2+asun2.1.0 on a Solaris 2.6x86 system with
the PHASE2NET compile option on atalkd. 

I am now able to start atalkd without a kernel panic. The atalkd.conf
file that is produced looks like:

	cnft0 -phase 2 -net 0-65534 -addr 65280.95

OK, so far so good. Now to try and start CAP using capd first. I have
cap60pl199+afp/tcp patches configured and compiled for kernel appletalk.
I have the same options compiled and running fine on my Sol 2.5.1sparc.
capd is compiled for PHASE2. I need to run in PHASE2 in order to handle
the various zones that exist on the network.

# capd cnft0 "Our Servers"
debugging ATP
SIOCADDMULTI: No such file or directory

Interesting error. The SIOCADDMULTI is a legit ioctl option that is being
performed in the following code sample from capd.c

	int sock;

	ifr->ifr_addr.sa_family = AF_UNSPEC;
	bcopy(multi, ifr->ifr_addr.sa_data, 6);

	/*
	 * open a socket, temporarily, to use for SIOC* ioctls
	 *
	 */
	if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
	  perror("socket()");
	  return(-1);
	}

	if (ioctl(sock, SIOCADDMULTI, (caddr_t)ifr) < 0) {
	  perror("SIOCADDMULTI");
	  close(sock);
	  return(-1);
	}

---

Anyway, trying this command a 2nd time in a row causes the system to panic.
I have also experimented with bypassing the above function. The result
is that the system panics on the first attempt.

So there definitely appears to be problems with handling PHASE2 networking.
Does anyone have any clues?

---
Bob