From: andrew@frip.WV.TEK.COM (Andrew Klossner)
Newsgroups: comp.protocols.appletalk
Subject: Re: AppleTalk Router issues
Date: 7 Apr 92 15:53:41 GMT
Reply-To: andrew@frip.wv.tek.com
Organization: Tektronix, Wilsonville, Oregon

[Please hit the carriage return every 80 columns when you post or mail
a note.]

	"The number of zone names included in a single ZipExtReply
	packet may only be derived from the packet length and stepping
	through each of the zone name entries. Is there any other
	controlling entity for determining the number of zone name
	entries in the Extended ZIP Reply packet? e.g. zero zone name
	length indicating no more entries to follow."

No, packet length is all you've got to work with.

	"If an up and running non-seed Router receives an RTMP Data
	packet whose first tuple has a network # range different from
	what it is using, what should it do? Stick to what it has or go
	with the newly discovered range?"

To clarify, we're talking about a non-seed router that has already
gotten its seed from the seed router.  It should ignore this packet.
If it has any means of output (e.g., an attached terminal), it should
print an error message.

	"The zone names are case insensitive and must have same
	multicast address. But upper case and lower case for the same
	name yield different multicast addresses. So, which one is the
	correct multicast address? One for the upper case name?"

From "Inside AppleTalk, 2nd edition", page 8-18, second paragraph:

"To compute the zone multicast address, the ZIP process first converts
the zone name to all uppercase characters ..."

	"What should be the destination network # and node id in the
	DDP header when the packet is sent as a multicast packet?
	Should they be same as broadcast(0, 0xff)?"

That is correct, but the question is backward.  There shouldn't be any
code that says "I have a packet that must go out multicast, I need to
figure out a (network,node) pair for it."  The (network,node) pair is
determined before the link layer address.  NBP is the only protocol
that sends to zone-multicast addresses, and it happens to send all such
packets to (0,0xff).

	"Is it OK to always store zone names in upper case in the
	internal tables? This means all ZIP replies and zone list
	replies will have all zone names in upper case names and not as
	configured by the user."

No, this is not OK.  You must present the zone names exactly as you
received them.  This means you do your case conversion at comparison
time, not zone name reception time.

	"Should it be possible to connect two or more ports of the same
	Router to the same network? I don't think this is practical."

My guess is that you're really asking whether you can tell the user
that they must never do this.  This is quite acceptable.  If you happen
to notice that two ports are connected to the same wire, the best thing
to do is disable one of those ports (and print an error message).

	"If we decide to make the Router an NVE by giving it a name,
	should it have one name per port or just one name for the
	entire Router? The latter one simplifies topology diagrams in
	any network management tool."

A name is bound to a (network, node, socket) triple.  It's attached to
a *service*, not to a *machine*.  You can give the router a single
name, but it will have to be smart enough to route some packets to
itself.  For example, if you bind your router's name to (1.1,2,3) and you
receive traffic to this socket via the port connected to network 5.5,
you must get it to your service.  Also, if you send a response out to
network 5.5, you must be sure that its source address is still
(1.1,2,3) and its hop count is 1.

  -=- Andrew Klossner  (andrew@frip.wv.tek.com)
                       (uunet!tektronix!frip.WV.TEK!andrew)