Subject: Re: [Sigtran] M2PA Flush Buffers

From: "TOLGA ASVEREN" <[email-masked]>
Date: Tue, 4 Feb 2003 09:44:38 +0200

Brian,
--- "Brian F. G. Bidulock" <[email-masked]> wrote:
> Tolga,
>
> Flush buffers is only used after recovery from local
> processor outage.
> The SS7 peer should not be sending any messages and
> cannot expect
> acknolwedgement for any messages that are
> outstanding when it receives
> the remote processor outage indication.
>
> Flush buffers is only performed on recovery from
> local processor outage
> after MTP Level 3 T1 timeout or remote changeover
> (which normally takes
> about a second or two).
>
> Also, changeover orders have been sent to the other
> side before buffer
> flushing occurs and the other side should have
> already placed the link
> out of service.
>
> So, in any case, the only messages are messages
> caught in local transmit
> and retransmit buffers.  Any message which SCTP
> happens to send or receive
> late will merely interfere with the new alignment
> process and will be
> discarded anyway.
[TOLGA] If it happens to be delivered after the alignment process, still I
think there may the possibility of a problem but I wouldn´t think this as a
very likely scenario.
BTW, somehow related with this topic, I think the following sentence needs
to be changed:
4.1.3
"Link alignment takes place after the association is established." (please
don´t say that it does not say that link alignment does not happen at any
other case.)

And one question, when M2PA receives LS(Processor Outage), what does it do
with User Data messages arriving afterwards from that peer? Discarding them
or considering this as end of processor outage and processing them? If the
former is true, what happens if User Data sent before LS(Processor Outage)
arrives after it? It seems a message which shouldn´t be dropped will be. If
the latter is true, again when LS(Processor Outage)arrives before User Data
sent earlier, that User Data will be interpreted mistekenly as end of
processor outage.
>
> That is why I asked several times: what does it
> matter?  It doesn't.
>
> --brian
>
>
> TOLGA ASVEREN wrote:                           (Tue,
> 04 Feb 2003 07:49:58)
> >
> > Tom,
> >
> > 4.2.4 says:
> > "The Flush Buffers and Continue commands allow
> M2PA to resume normal
> > operations (i.e., transmission of messages to SCTP
> and receiving
> > messages from SCTP) after a processor outage
> (local and/or remote)
> > ceases.
> >
> > If M2PA receives a Flush Buffers command from
> MTP3, M2PA:
> >
> >    (a) SHALL NOT transmit any messages to SCTP
> that are currently
> >        waiting to be transmitted to SCTP. These
> messages SHALL be
> >        discarded.
> >
> >    (b) SHALL discard all messages currently
> waiting to be passed
> >        to MTP3."
> > So M2PA will stop sending messages to SCTP but
> continue to receive messages
> > from SCTP and will discard them(?) What about
> scenarios, where a SCTP
> > message, which needs to be discarded is ready to
> be delivered to M2PA
> > (because of SCTP retransmission) after Continue?
> >
> >      Tolga
> >
> >
> > Tolga,
> >
> > The interface between SCTP and its upper layer
> does not provide for a
> > way to flush the SCTP buffers. So the approach we
> took in M2PA was to
> > discard the messages waiting to be sent or
> received.
> >
> > If you have some implementation-dependent means
> for flushing SCTP
> > buffers and you can use it to meet the M2PA
> requirements, then that
> > would be, well, an implementation matter.
> >
> > tomG.
> >
> >
> > TOLGA ASVEREN wrote:
> > >
> > > Tom,
> > >
> > > I mean, during flushing, what to do with SCTP
> buffers?

_______________________________________________
Sigtran mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/sigtran

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Tue, 4 Feb 2003 01:07:40 -0700

TOLGA,

TOLGA ASVEREN wrote:                                                                 (Tue, 04 Feb 2003 09:44:38)
> think there may the possibility of a problem but I wouldn´t think this as a

2 out of 3 rule for BSN should catch it anyway.

> don´t say that it does not say that link alignment does not happen at any

But it doesn't way it doesn't happen at any other time...  Would you say that
link alignment takes place before the association is established?  (If not,
then it must always be after.)

> sent earlier, that User Data will be interpreted mistekenly as end of

IMO LS should be sent in same stream as DATA.

In that case DATA received after LS PO is cause to place the link out of
service.

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: Tom George <[email-masked]>
Date: Tue, 04 Feb 2003 14:41:15 -0600

Tolga,

This is one place where M2PA works differently from MTP2. In MTP2,
receipt of a MSU (or FISU) indicates the end of a remote processor
outage. There is no LSSU that indicates the end of remote processor
outage.

I think this would not work well in M2PA, since User Data messages might
get out of order with the Link Status messages. So a User Data message
received during remote processor outage does not indicate the end of the
RPO. It has to be interpreted as having been sent before the RPO
condition began. 

In M2PA, the LS Processor Recovered message is there to indicate the end
of RPO.

That may not answer your question, but maybe it gets us a little closer. 

tomG.

TOLGA ASVEREN wrote:
  [...] 
> sent earlier, that User Data will be interpreted mistekenly as end of
  [...]

-- 
* Tom George       PB7-24001 (near B-21)      [email-masked]  *
* 972-519-3168   Intranet:  http://www.ssd.usa.alcatel.com/~tgeorge/  *
* Alcatel;  3400 West Plano Pkwy,  MS PB7-SWPRO;  Plano, Texas 75075  *
* I actively disclaim speaking for Alcatel USA, Inc. I do not purport *
* to advertise or represent its position,  operations, or activities. *
_______________________________________________
Sigtran mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/sigtran

---

From: Tom George <[email-masked]>
Date: Tue, 04 Feb 2003 14:49:33 -0600

I think we had this dicussion at the M2PA Interop and probably talked
about it on the list long ago. 8-)

Putting the LS and Data messages on the same stream does make it easy to
decide in which order they were sent.

The thing I have never liked about putting them on the same stream is
that a LS message could get stuck in a queue behind many User Data
messages. 

MTP2 does not have this problem. It puts LSSUs ahead of MSUs in its
transmission buffer. 

If SCTP had an option to put an outgoing message at the head of the
queue, it would be OK to send LS and User Data on the same stream.

tomG.

"Brian F. G. Bidulock" wrote:
  [...]
  [...]

---

From: "Anatoly Khusid" <[email-masked]>
Date: Tue, 4 Feb 2003 16:48:47 -0500

Hi,

I am not clear on one item in the M2UA RFC:

[Page 11] (Section 1.5.4.1):

"SCTP Stream '0' SHOULD NOT be used for MTP2 User Adaptation (MAUP)
messages (see Section 3) since stream '0' SHOULD only be used for ASP
Management (ASPM) messages (see Section 4.3.3)."

I assume ASPM acronym combines  ASPSM(Application Server Process State
Maintenance) and ASPTM(Application Server Process Traffic Maintenance),
which means all ASPTM messages must be sent on SCTP stream '0'

Now, if you look at [Page 60] (Section 4.2.1) :
"All MGMT messages, except BEAT and BEAT Ack, SHOULD be sent with
sequenced delivery to ensure ordering.  All MGMT messages, with the
exception of ASPTM, BEAT and BEAT Ack messages, SHOULD be sent on SCTP
stream '0'.  All ASPTM messages SHOULD be sent on the stream which
normally carries the data traffic to which the message applies.  BEAT
and BEAT Ack messages MAY be sent using out-of-order delivery, and
MAY be sent on any stream."

This section says that ALL ASPTM messages should be sent on the stream which
normally carries the data traffic to which message applies.

Am I missing something, but I am confused which SCTP stream should be used
for ASPTM messages.

I appreciate if somebody could clear this out for me.

Thanks a lot!

Anatoly

 -----Original Message-----
From: 	[email-masked] [mailto:[email-masked]]  On Behalf Of
Tom George
Sent:	Tuesday, February 04, 2003 3:50 PM
Cc:	[email-masked]
Subject:	Re: [Sigtran] M2PA Flush Buffers

tomG.

  [...]

---

From: Andrew Booth <[email-masked]>
Date: Tue, 04 Feb 2003 18:30:58 -0500

Hi Tom,

I'm not an M2PA expert, so I'm not sure how important this issue is.  In 
case it makes things easier, here are some thoughts on quick solutions.

Problem statement:
==============
It looks like there are a few cases in M2PA where it would be nice to 
know the relative order in which a LS and a User Data message were sent. 
 Also, it would be nice if LS messages were delivered "as quickly as 
possible".

Solution 1:
========
If the issue is to decide where in the User Data sequence an LS message 
fits, why not use the FSN field to indicate it?  Since the FSN field in 
a LS message is no longer used for acknowledgements, you could just fill 
the FSN of the LS message with the FSN of the last transmitted User Data 
message.  This would let you have the logical ordering you get on a wire 
while reducing head of line blocking for LS messages.  There is still 
the possiblity that User Data sent after a LS message could arrive at 
the receiver first.

Solution 2:
========
Alternatively, LS messages could get sent on both streams and we could 
use the reserved space in the M2PA header to eliminate duplicates.  This 
approach involves slightly more complicated procedures than the first 
proposal, but would ensure that an LS message arrives before any data 
that is sent chronologically after it.

In either case, the procedures would be very restricted in scope and 
would allow statements like "If a User Data is received that was sent 
after the PO message then...".  Is this worth anything?

Thoughts?
Andrew

-- 
Andrew Booth, Software Developer
Signaling Systems Group, Performance Technologies
613-237-4344

Visit www.pt.com/mailing.html to subscribe to our Packets & Signals eLetter.

---

From: Tom George <[email-masked]>
Date: Tue, 04 Feb 2003 17:58:51 -0600

Andrew,

Thanks for the comments. I will gladly defer to those with more SS7
smarts, but I think there is no case where the receiver has to know the
order in which LS and User Data messages were sent. MTP2 itself has
LSSUs jumping to the head of the line when they are transmitted.

So what do we do with User Data messages that are received after a LS
PO? We can't just copy MTP2, since the same situation does not occur. In
MTP2, receiving an MSU ends the RPO condition. 

The current M2PA does not say exactly what to do, which I would
interpret (if I may "interpret" my own writing) that the receiver should
go ahead and process the User Data messages. The presumption would be
that they are valid messages sent before the RPO occurred. 

Does anyone see a problem with this?

tomG.

---

From: Ken Morneault <[email-masked]>
Date: Tue, 04 Feb 2003 21:25:28 -0500

Anatoly,

Pls see comments below.

Regards,

Ken

>Management (ASPM) messages (see Section 4.3.3)."

The "SHOULD" only applies to ASPSM messages.  

>normally carries the data traffic to which message applies.

Yes that is correct.  I agree that this information should only be listed
in one place in the RFC.  Will clarify in an implementors guide.

---

From: "Anatoly Khusid" <[email-masked]>
Date: Wed, 5 Feb 2003 09:01:47 -0500

Ken,

Thanks for the clarification.
Now, it seems confusing to me that all APSTM messages are sent on the
individual streams.

For example, lets look at the ASP Active(ASPAC) message:
First case,  ASPAC has no optional Interface Identifier ( the message is for
all provisioned Interface Identifies within the AS ).
What SCTP stream should be used for this message?
Second case, ASPAC has a list or a range of optional Interface Identifies,
what SCTP stream should be used for this message?

I assume that in both cases ASP only sends ONE ASPAC message ( will not send
multiple ASPAC messages on different SCTP streams ).

Thanks

Anatoly

 -----Original Message-----
From: 	[email-masked] [mailto:[email-masked]]  On Behalf Of
Ken Morneault
Sent:	Tuesday, February 04, 2003 9:25 PM
To:	Anatoly Khusid; [email-masked]
Subject:	Re: [Sigtran] M2UA RFC 3331 Question

Anatoly,

Pls see comments below.

Regards,

Ken

---

From: Ken Morneault <[email-masked]>
Date: Wed, 05 Feb 2003 09:21:15 -0500

Anatoly,

Yes, in the cases you describe, only one ASPAC message would
be sent and it would not matter which stream it was sent on.

Regards,

Ken

---

From: "Anatoly Khusid" <[email-masked]>
Date: Wed, 5 Feb 2003 09:43:10 -0500

Ken,

Thanks.  As I can see there are only 4 ASPTM messages used by M2UA:
ASP Active
ASP Active ACK
ASP Inactive
ASP Inactive ACK

I don't really understand when it is necessary to use specific stream vs.
*any* stream to send ASPTM messages.

Lets say SGP receives ASP Active on SCTP (stream 4, association 1), is
necessary to send ASP Active ACK on the same stream (stream 4, association
1) or any stream?  Does the same logic apply to ASP Inactive / ASP Inactive
ACK.

Thanks

Anatoly

 -----Original Message-----
From: 	Ken Morneault [mailto:[email-masked]]
Sent:	Wednesday, February 05, 2003 9:21 AM
To:	Anatoly Khusid; [email-masked]
Subject:	RE: [Sigtran] M2UA RFC 3331 Question

Anatoly,

Regards,

Ken

---

From: Ken Morneault <[email-masked]>
Date: Wed, 05 Feb 2003 09:54:58 -0500

Anatoly,

If you want all of the traffic related to a particular Interface Identifier (including
ASPTM messages) to be ordered, then these messages must be sent on the same 
stream.  

The SGP does not need to respond to the ASPAC or ASPIA on the
same stream as they were received, just as it does not have to select
 the same stream the ASP selects to send Data messages associated 
with an Interface Identifier.

Regards,

Ken