Subject: Re: Unicast FIFO entry

From: Peter Johansson <[email-masked]>
Date: Sat, 6 Feb 1999 13:17:56 EST

In a message dated 99-02-06 01:37:48 EST, [email-masked] writes:

<<Can we use Unit_Location entry for this purpose?>>

P1212r is in the process of obsoleting Unit_Location, but I'm sure that can be
reversed if necessary.

More to the point, Unit_Location is a leaf entry. Why not just design a leaf
entry for IP1394 that suits ALL of our needs?

One example:

                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             length            |              CRC              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           ether_type          |        unicast_FIFO_hi        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        unicast_FIFO_lo                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           IP_address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The leaf illustrated above contains all the information in an ARP response
that is NOT discoverable from other 1394-specific mechanisms such as the bus
information block or self-ID packets.

Of course, this proposal raises some new questions:

* Is ether_type redundant? After all, Unit_Spec_ID and Unit_SW_Version in the
unit directory uniquely identify an RFC.

* If ether_type isn't redundant, should it be bound to a FIFO or bound to a
unit directory?

* Does a unit support more than one IP address? If so, how? Extend the leaf
structure to support multiple IP address quadlets? Create an IP_Address entry
for the unit directory that points to an IP address leaf and permit any number
of these leaves? Permit multiple Unicast_FIFO entries, use the leaf format
above and allow each IP address to have a different unicast FIFO address?

* Should IP unicast be permissible for ARP requests? We already allow it for
ARP responses.

Personally, I favor the last solution and would propose:

a) The creation of a Unicast_FIFO leaf entry for the unit directory, key value
0xB8, whose 24-bit value is the offset of a unicast FIFO leaf. Permit only one
of these entries per unit directory;

b) The unicast FIFO leaf would contain a 48-bit FIFO address, only; and

c) Modify the Internet-Draft so that unicast ARP requests are permitted if one
has discovered the unicast FIFO address by other methods. The usefulness of
these ARP requests is not to discover the unicast FIFO address but to
determine whether or not the unit is responsive to a particular IP address.

My next preferred solution is to use the Unicast_FIFO leaf structure
illustrated above and permit more than one Unicast_FIFO entry per unit
directory.

Regards,

Peter Johansson

Congruent Software, Inc.
98 Colorado Avenue
Berkeley, CA  94707

(510) 527-3926
(510) 527-3856 FAX

[email-masked]

---

From: Kenji Fujisawa <[email-masked]>
Date: Sun, 7 Feb 1999 13:33:40 +0900

>above and allow each IP address to have a different unicast FIFO address?

Furthermore a node may not have an IP address when it boots.
When it gets an IP address, the config "ROM" should be changed.
It will possibly(?) require another bus-reset.
I don't like inclusion of an IP address in the config ROM.

>determine whether or not the unit is responsive to a particular IP address.

I agree.

Regards,

Kenji Fujisawa