Subject: RE: TCP Mapping

From: "Liu, Hong" <[email-masked]>
Date: Sat, 29 Jun 2002 10:31:49 -0500

I would like to stay focused on the issue I raised in this thread. If I was
not clear in previous emails, here we go again:

Issue: what would be the proper way to tag server-pushed messages from the
server?

Option 1: Use one bit in the Total Length header in the EPP datagram. This
is specific to the TCP transport mapping.

Option 2: Use <extension> child element of <epp>. This is transport neutral.

There may be other options, but those two are what I've seen so far.

I initially suggested option 1, and Scott has suggested option 2. I still
don't know what Eric's opinion is.

I want to hear what others on the list think.

Cheers,

--Hong

-----Original Message-----
From: Eric Brunner-Williams in Portland Maine
[mailto:[email-masked]]
Sent: Saturday, June 29, 2002 8:31 AM
To: Liu, Hong
Cc: [email-masked]'; [email-masked]
Subject: Re: TCP Mapping 

> That was my understanding. The issue is of general interest, and I would
> like to get more feedback on the list.

Which issue?

[snip...]
> So Eric, you are for Scott's proposal to use the <extension> child element
> for defining the PUSH.

I don't think I've seen it.

[snip...]

That said, the selection of tcp as transport has no relation to where
state is held, or which end of a stream was the stream's initiator.

These are (possibly gratuitous) design choices.

Eric

---

From: Eric Brunner-Williams in Portland Maine <[email-masked]>
Date: Sat, 29 Jun 2002 13:45:30 -0400

Hong,

State-transition occurs in the registry,
the "server" initiates an event,
either
	o enqueueing a message for delivery via a registrar-initiated
	  instance of communication (which might have session semantics,
	  and which might be via tcp transport),
or
	o enqueueing a message for delivery via a registry-initiated
	  instance of communication (which might have session semantics,
          and which might be via tcp transport).

The first mechanism has found expression in the core drafts, the second
has not.

The proposal to put directionality (the initiator (the event)) into an
application PDU (your private pun on a header bit) puts directionality
discovery in the application.

Just to be sure I got your proposal, is this what you have in mind?
I've given lines that have changes "wedgies".

(from draft-ietf-provreg-epp-tcp-04.txt)
4. Datagram Format

  The data field of a TCP datagram MUST contain an EPP datagram.  The
  EPP datagram contains two fields: a 32-bit header that describes
>	the P-bit (is the message "PUSH" or "PULL")
> and
>	the 31 bits indicating the total length of the datagram,
  and the EPP XML instance.

  EPP Datagram Format (one tick mark represents one bit position):

     0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>   |P                          Total Length                        |   
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         EPP XML Instance                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

> Push Bit (1 bit): When set, the message was not initiated by the 
> initiator of the connection.
> Total Length (31 bits): The total length of the EPP datagram measured
  in octets.  The octets contained in this field MUST be included in the
  total length calculation.

(end of excerpt from -04)

Is the octet in network byte order? Which bit is the P-bit?

Eric