Subject: [Sigtran] In IPSP-IPSP mode what should be the behavior on receving Notify(AS-PENDING) when AS is already AS-ACTIVE

From: Deepak Gunjal <[email-masked]>
Date: Fri, 9 Oct 2009 14:53:42 +0530

Hi,

Here is the brief description:

I am running my application emulating the role of a AS having 2 ASP in override mode. Out of 2 ASP one ASP is ACTIVE and other is down.

My application has sent the ASP-ACTIVE to peer IPSP node and received the Notify(AS-ACTIVE). Now I restarted the IP network services and as a result remote IPSP node marks the state of my AS as down and sends an Notify(AS-PENDING) which my M3UA stack treats as "UNEXPECTED" message and does nothing as it has not received any notification from SCTP that connection was down so it keeps the local AS ACTIVE and responds with ERROR  message with error code "UNEXPECTED message".

My question is what should be my behavior when AS-PENDING is received?

Regards
Deepak

________________________________
"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."

---

From: Ashwani Kathuria <[email-masked]>
Date: Fri, 9 Oct 2009 18:32:38 +0530

Hi Deepak,

I think your M3UA stack is correct in sending the Error message but
your underlying SCTP should send some restart or down indication to
your M3UA stack.

5.2.1.  1+1 Sparing, Withdrawal of ASP, Backup Override
...
   Note: If the SGP M3UA layer detects the loss of the M3UA peer (e.g.,
   M3UA heartbeat loss or detection of SCTP failure), the initial ASP
   Inactive message exchange (i.e., SGP to ASP1) would not occur.

So peer M3UA is correct in sending NOTIFY (AS-PENDING) messages but

in section 4.3.3
   If the M3UA layer subsequently receives an SCTP-COMMUNICATION_DOWN or
   SCTP-RESTART indication primitive from the underlying SCTP layer, it
   will inform the Layer Management by invoking the M-SCTP_STATUS
   indication primitive.  The state of the ASP will be moved to ASP-
   DOWN.
and in section 4.3.4.5
   A Notify message reflecting a change in the AS state MUST be sent to
   all ASPs in the AS, except those in the ASP-DOWN state, with
   appropriate Status Information and any ASP Identifier of the failed
   ASP.

The question is:
As per section 4.3.3 M3UA should change the ASP to DOWN upon detecting
SCTP failure and as per section 4.3.4.5 NOTIFY messages are not sent
to DOWN ASPs. So why in section 5.2.1 NOTIFY messages are sent to DOWN
marked ASPs?

-- Ashwani

On Fri, Oct 9, 2009 at 2:53 PM, Deepak Gunjal <[email-masked]> wrote:
> My application has sent the ASP-ACTIVE to peer IPSP node and received the Notify(AS-ACTIVE). Now I restarted the IP network services and as a result remote IPSP node marks the state of my AS as down and sends an Notify(AS-PENDING) which my M3UA stack treats as “UNEXPECTED” message and does nothing as it has not received any notification from SCTP that connection was down so it keeps the local AS ACTIVE and responds with ERROR  message with error code “UNEXPECTED message”.
>
>
>
> _______________________________________________
> Sigtran mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/sigtran
>

---

From: Deepak Gunjal <[email-masked]>
Date: Fri, 9 Oct 2009 20:22:59 +0530

Hi Ashwini,

Thanks for the response.

Now here the problem is that my local SCTP which is nothing but linux kernel SCTP (lksctp) has not sent any kind of notification to local M3UA that the connection is down due to network restart so my M3UA always assumes that everything is up and running fine hence takes no action.

My peer is Spectra tool emulating the role of IPSP.

Now this leads to a situation where both parties assumes they are behaving correctly and user data can not be exchanged.

Strangely Spectra2 though says that ASP is down but it sends the Notify on the existing connection!!

Is there a way out to come out of this loop? As per the RFC and mentioned section by you I could not found a resolve to this situation? Any suggestions are welcome.

Regards

Deepak

-----Original Message-----
From: Ashwani Kathuria [mailto:[email-masked]]
Sent: Friday, October 09, 2009 6:33 PM
To: Deepak Gunjal
Cc: [email-masked]
Subject: Re: [Sigtran] In IPSP-IPSP mode what should be the behavior on receving Notify(AS-PENDING) when AS is already AS-ACTIVE

Hi Deepak,

your M3UA stack.

...

in section 4.3.3

   DOWN.

and in section 4.3.4.5

   ASP.

The question is:

marked ASPs?

-- Ashwani

On Fri, Oct 9, 2009 at 2:53 PM, Deepak Gunjal <[email-masked]> wrote:

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Fri, 9 Oct 2009 13:35:25 -0600

Deepak,

An SCTP that cannot provide SCTP RI is not usable for
SIGTRAN for this very reason.

--brian

Deepak Gunjal wrote:                         (Fri, 09 Oct 2009 20:22:59)
> 
>    Hi Ashwini,
> 
> 
>    Thanks for the response.
> 
> 
>    Now here the problem is that my local SCTP which is nothing but linux
>    kernel SCTP (lksctp) has not sent any kind of notification to local
>    M3UA that the connection is down due to network restart so my M3UA
>    always assumes that everything is up and running fine hence takes no
>    action.
> 
>    Now this leads to a situation where both parties assumes they are
>    behaving correctly and user data can not be exchanged.
> 
> 
>    Is there a way out to come out of this loop? As per the RFC and
>    mentioned section by you I could not found a resolve to this
>    situation? Any suggestions are welcome.
> 
> 
>    Regards
> 
>    Deepak
> 
> 
>    Subject: Re: [Sigtran] In IPSP-IPSP mode what should be the behavior
>    on receving Notify(AS-PENDING) when AS is already AS-ACTIVE
> 
> 
>    Hi Deepak,
> 
> 
>    > I am running my application emulating the role of a AS having 2 ASP
>    in override mode. Out of 2 ASP one ASP is ACTIVE and other is down.
> 
>    >
> 
>    >
> 
>    >
> 
>    > My application has sent the ASP-ACTIVE to peer IPSP node and
>    received the Notify(AS-ACTIVE). Now I restarted the IP network
>    services and as a result remote IPSP node marks the state of my AS as
>    down and sends an Notify(AS-PENDING) which my M3UA stack treats as
>    "UNEXPECTED" message and does nothing as it has not received any
>    notification from SCTP that connection was down so it keeps the local
>    AS ACTIVE and responds with ERROR  message with error code "UNEXPECTED
>    message".
> 
>    >
> 
>    >
> 
>    >
> 
>    > "DISCLAIMER: This message is proprietary to Aricent and is intended
>    solely for the use of the individual to whom it is addressed. It may
>    contain privileged or confidential information and should not be
>    circulated or used for any purpose other than for what it is intended.
>    If you have received this message in error,please notify the
>    originator immediately. If you are not the intended recipient, you are
>    notified that you are strictly prohibited from using, copying,
>    altering, or disclosing the contents of this message. Aricent accepts
>    no responsibility for loss or damage arising from the use of the
>    information transmitted by this email including damage from virus."
> 
>    >
> 
>      _________________________________________________________________
> 
>    "DISCLAIMER: This message is proprietary to Aricent and is intended
>    solely for the use of the individual to whom it is addressed. It may
>    contain privileged or confidential information and should not be
>    circulated or used for any purpose other than for what it is intended.
>    If you have received this message in error,please notify the
>    originator immediately. If you are not the intended recipient, you are
>    notified that you are strictly prohibited from using, copying,
>    altering, or disclosing the contents of this message. Aricent accepts
>    no responsibility for loss or damage arising from the use of the
>    information transmitted by this email including damage from virus."

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

---

From: Ashwani Kathuria <[email-masked]>
Date: Mon, 12 Oct 2009 11:41:08 +0530

Deepak:

Are you using the latest version of Linux kernel SCTP available. If
yes, you can raise this this issue with them else try using latest
version.

--Ashwani

On Sat, Oct 10, 2009 at 1:05 AM, Brian F. G. Bidulock
<[email-masked]> wrote:
>>    >
>>    > Hi,
>>    >
>>    >
>>    >
>>    > Here is the brief description:
>>
>>    >
>>
>>    >
>>
>>    >
>>
>>    > I am running my application emulating the role of a AS having 2 ASP
>>    >
>>    >
>>    >
>>    > My application has sent the ASP-ACTIVE to peer IPSP node and
>>    >
>>    >
>>    >
>>    > My question is what should be my behavior when AS-PENDING is
>>    received?
>>
>>    >
>>
>>    >
>>
>>    >
>>
>>    > Regards
>>
>>    >
>>
>>    > Deepak
>>
>>    >
>>
>>    > ________________________________
>>
>>    > "DISCLAIMER: This message is proprietary to Aricent and is intended
>>    >
>>    > _______________________________________________
>>
>>    > Sigtran mailing list
>>
>>    > [email-masked]
>>
>>    > https://www.ietf.org/mailman/listinfo/sigtran
>>
>>    >

---

From: Deepak Gunjal <[email-masked]>
Date: Mon, 12 Oct 2009 11:53:46 +0530

Hi,

We are not using the latest version of the lksctp. It is the version 1.0.2 which is being used in our product.

I can certainly think of moving to newer version but before that just wanted to confirm if I am not missing something at my end either at M3UA stack or at Application level?

Regards
Deepak

-----Original Message-----
From: Ashwani Kathuria [mailto:[email-masked]]
Sent: Monday, October 12, 2009 11:41 AM
To: [email-masked]; Deepak Gunjal; Ashwani Kathuria; [email-masked]
Subject: Re: [Sigtran] In IPSP-IPSP mode what should be the behavior on receiving Notify(AS-PENDING) when AS is already AS-ACTIVE

Deepak:

--Ashwani

---

From: "Salil Agrawal" <[email-masked]>
Date: Thu, 15 Oct 2009 12:37:35 +0530

Hi, 

We have a confusion while understanding the SCTP RFC4960 section 9.1 it
says "DATA chunks MUST NOT be bundled with ABORT" so sender must not
bundle the data with abort. 

But the second paragraph states that "An endpoint MUST NOT respond to
any received packet that contains an ABORT chunk". Which means if any
packet is received at the receiver end where ABORT is bundled with the
DATA it should not send any response. Does it mean that for the DATA
chunk SACK should not be generated? Please clarify.

Thanks,
Salil Agrawal

---

From: Ashwani Kathuria <[email-masked]>
Date: Thu, 15 Oct 2009 12:57:49 +0530

Hi Salil,

When you are bundling anything (control chunk) with DATA chunk it
should be placed before DATA chunks in the SCTP packets.
Now if you bundle the ABORT chunk with DATA chunk in a single SCTP
packet the ABORT chunk will be processed before DATA chunk and
association will be broken down.
So, that DATA chunk will have no significance as it's association is
now broken by the ABORT chunk placed before it.

--Ashwani Kathuria

---

From: "Salil Agrawal" <[email-masked]>
Date: Thu, 15 Oct 2009 13:46:31 +0530

Thanks Ashwani, 

I understand that it does not make any sense to send the SACK, and abort
chunk should be the placed before the DATA chunk. But the question is if
the ABORT chunk is placed after the DATA chunk in the received packet
then should be send the SACK for the DATA or not.

Thanks, 
Salil

-----Original Message-----
From: Ashwani Kathuria [mailto:[email-masked]] 
Sent: Thursday, October 15, 2009 12:58 PM
To: Salil Agrawal
Cc: [email-masked]
Subject: Re: [Sigtran] Abort chunk bundled with data chunk

Hi Salil,

--Ashwani Kathuria

---

From: Ashwani Kathuria <[email-masked]>
Date: Thu, 15 Oct 2009 14:11:15 +0530

Placing DATA chunk before control chunk (ABORT) makes it an Invalid SCTP packet.

--Ashwani Kathuria

---

From: "Salil Agrawal" <[email-masked]>
Date: Thu, 15 Oct 2009 14:28:32 +0530

Hi Ashwani, 

The question is not that whether DATA chunk should be bundled with the
ABORT or not. RFC is very clear about it that the sender should not do
in that way but here the question is if we at the receiver end receives
the same then what should be the action at the receiver end (should we
send the SACK for the DATA or not).

Thanks,
Salil

-----Original Message-----
From: Ashwani Kathuria [mailto:[email-masked]] 
Sent: Thursday, October 15, 2009 2:11 PM
To: Salil Agrawal
Cc: [email-masked]
Subject: Re: [Sigtran] Abort chunk bundled with data chunk

Placing DATA chunk before control chunk (ABORT) makes it an Invalid SCTP
packet.

--Ashwani Kathuria

---

From: Ashwani Kathuria <[email-masked]>
Date: Thu, 15 Oct 2009 14:30:11 +0530

No, SACK should not be sent in such case.

---

From: "Salil Agrawal" <[email-masked]>
Date: Thu, 15 Oct 2009 14:36:31 +0530

Thanks Ashwani, 

That means if we receive any DATA chunk in a packet then we first need
to check if this packet contains the ABORT or not before sending the
SACK. If packet is not containing the ABORT then only SACK will we sent
otherwise not. 
Also if this is going to be expected behavior then it would impact the
protocol performance as we need to traverse the whole packet before
sending any SACK. 

Thanks,
Salil

---

From: Ankit Kumar Sharma <[email-masked]>
Date: Thu, 15 Oct 2009 10:48:40 +0100

Just wandering whether traversing a whole list of chunks after receiving
every correct packet, is too much of a penalty to handle just one invalid
case.

If we reply with a SACK for the DATA(received in a packet containing ABORT),
and then ABORT the association then it should also be ok. If we have
received a DATA chunk in a packet, and then ABORT in a next packet then also
we perform the same action.

Just to add to more confusion, section 6.1 says that "The SCTP endpoint MUST
always acknowledge the reception of each valid DATA chunk when the DATA
chunk received is inside its receive window". Specification is saying about
"valid DATA chunk" so is it talking about only syntactically correct DATA
chunk?

Cheers

---

From: Deepak Gunjal <[email-masked]>
Date: Thu, 15 Oct 2009 15:18:52 +0530

It seems that both the end points keeps the connection alive as I can see after network restart Spectra2 sends Notify(AS-PENDING) on the previously established connection and my M3UA stack responds with ERROR(Unexpected-Msg) as the AS state at my stack is ACTIVE. So the ERROR message does reaches to spectra2 and the sequence continues.

I am still not able to figure out how to come out of this loop? As per RFC there is no case where I can receive AS-PENDING for AS-ACTIVE.

Any suggestions?

Regards

Deepak

-----Original Message-----
From: Ashwani Kathuria [mailto:[email-masked]]
Sent: Friday, October 09, 2009 6:33 PM
To: Deepak Gunjal
Cc: [email-masked]
Subject: Re: [Sigtran] In IPSP-IPSP mode what should be the behavior on receving Notify(AS-PENDING) when AS is already AS-ACTIVE

Hi Deepak,

your M3UA stack.

...

in section 4.3.3

   DOWN.

and in section 4.3.4.5

   ASP.

The question is:

marked ASPs?

-- Ashwani

On Fri, Oct 9, 2009 at 2:53 PM, Deepak Gunjal <[email-masked]> wrote:

---

From: Michael Tüxen <[email-masked]>
Date: Thu, 15 Oct 2009 12:03:03 +0200

> SACK. If packet is not containing the ABORT then only SACK will we  
I would just start processing the packet, process the DATA chunk,
find the ABORT, decide the packet is illegal, discard the association,
and do not send an ABORT since I received one.

Best regards
Michael
>>> chunk should be the placed before the DATA chunk. But the question  
>>> is
>> if
>>>> We have a confusion while understanding the SCTP RFC4960 section  
>>>> 9.1
>>> it

---

From: "David Laight" <[email-masked]>
Date: Thu, 15 Oct 2009 11:04:46 +0100

> and do not send an ABORT since I received one.

That might lead to the application processing the data from
the DATA chunk ....

	David

Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)  
P Please consider the environment and don't print this e-mail unless you really need to

---

From: Ashwani Kathuria <[email-masked]>
Date: Thu, 15 Oct 2009 15:40:25 +0530

Hi Ankit/Salil

As per protocol there should always be a check to validate the SCTP
packet and the validation should be
- to check that DATA chunks if bundled with conntrol chunks are not at
the start of the packet and also
- that DATA chunks should not be bundled with some specific control
chunks like ABORT, SHUTDOWN or SHUTDOWN ACK etc.

This is what protocol behavior should be. Now it's all on
implementation how they take care of performance.

--Ashwani Kathuria

---

From: Ankit Kumar Sharma <[email-masked]>
Date: Thu, 15 Oct 2009 11:55:07 +0100

Could you please check why your SCTP layer is not sending connection restart
indication to M3UA?

On Thu, Oct 15, 2009 at 10:48 AM, Deepak Gunjal
<[email-masked]>wrote:

>  It seems that both the end points keeps the connection alive as I can see
> after network restart Spectra2 sends Notify(AS-PENDING) on the previously
> established connection and my M3UA stack responds with ERROR(Unexpected-Msg)
> as the AS state at my stack is ACTIVE. So the ERROR message does reaches to
> spectra2 and the sequence continues.
>
>
>
> I am still not able to figure out how to come out of this loop? As per RFC
> there is no case where I can receive AS-PENDING for AS-ACTIVE.
>
>
>
> Any suggestions?
>
>
>
> Regards
>
> Deepak
>
>
>
> Subject: Re: [Sigtran] In IPSP-IPSP mode what should be the behavior on
> receving Notify(AS-PENDING) when AS is already AS-ACTIVE
>
>
>
> Hi Deepak,
>
>
>
> > I am running my application emulating the role of a AS having 2 ASP in
> override mode. Out of 2 ASP one ASP is ACTIVE and other is down.
>
> >
>
> >
>
> >
>
> > My application has sent the ASP-ACTIVE to peer IPSP node and received the
> Notify(AS-ACTIVE). Now I restarted the IP network services and as a result
> remote IPSP node marks the state of my AS as down and sends an
> Notify(AS-PENDING) which my M3UA stack treats as “UNEXPECTED” message and
> does nothing as it has not received any notification from SCTP that
> connection was down so it keeps the local AS ACTIVE and responds with ERROR
> message with error code “UNEXPECTED message”.
>
> >
>
> >
>
> >
>
> solely for the use of the individual to whom it is addressed. It may contain
> privileged or confidential information and should not be circulated or used
> for any purpose other than for what it is intended. If you have received
> this message in error,please notify the originator immediately. If you are
> not the intended recipient, you are notified that you are strictly
> prohibited from using, copying, altering, or disclosing the contents of this
> message. Aricent accepts no responsibility for loss or damage arising from
> the use of the information transmitted by this email including damage from
> virus."
>
> >
>
> ------------------------------
> "DISCLAIMER: This message is proprietary to Aricent and is intended solely
> for the use of the individual to whom it is addressed. It may contain
> privileged or confidential information and should not be circulated or used
> for any purpose other than for what it is intended. If you have received
> this message in error,please notify the originator immediately. If you are
> not the intended recipient, you are notified that you are strictly
> prohibited from using, copying, altering, or disclosing the contents of this
> message. Aricent accepts no responsibility for loss or damage arising from
> the use of the information transmitted by this email including damage from
> virus."
>

---

From: Michael Tüxen <[email-masked]>
Date: Thu, 15 Oct 2009 13:40:19 +0200

> That might lead to the application processing the data from
... correct. And the problem is? The message was sent from a peer
with a broken SCTP stack.
An SCTP implementation can process a packet from the
beginning and does not need to roll back anything. A prescreening is
not required, I think.

Best regards
Michael

---

From: Deepak Gunjal <[email-masked]>
Date: Thu, 15 Oct 2009 17:32:59 +0530

I think while restarting the network it is upto the IP layer which get restarted i.e. transport restart and probably the SCTP connection context remains active.

That's why both end keeps on using the existing connection to send Notify and ERROR. So if there any reference in the RFC that a peer can send Notify with AS-PENDING from AS-ACTIVE state?

If yes than what should be the behavior at receiving end?

Regards
Deepak
________________________________
From: Ankit Kumar Sharma [mailto:[email-masked]]
Sent: Thursday, October 15, 2009 4:25 PM
To: Deepak Gunjal
Cc: [email-masked]
Subject: Re: [Sigtran] In IPSP-IPSP mode what should be the behavior on receving Notify(AS-PENDING) when AS is already AS-ACTIVE

Could you please check why your SCTP layer is not sending connection restart indication to M3UA?
On Thu, Oct 15, 2009 at 10:48 AM, Deepak Gunjal <[email-masked]<mailto:[email-masked]>> wrote:

Any suggestions?

Regards

Deepak

-----Original Message-----
From: Ashwani Kathuria [mailto:[email-masked]<mailto:[email-masked]>]
Sent: Friday, October 09, 2009 6:33 PM
To: Deepak Gunjal
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [Sigtran] In IPSP-IPSP mode what should be the behavior on receving Notify(AS-PENDING) when AS is already AS-ACTIVE

Hi Deepak,

your M3UA stack.

...

in section 4.3.3

   DOWN.

and in section 4.3.4.5

   ASP.

The question is:

marked ASPs?

-- Ashwani

On Fri, Oct 9, 2009 at 2:53 PM, Deepak Gunjal <[email-masked]<mailto:[email-masked]>> wrote:

> [email-masked]<mailto:[email-masked]>

_______________________________________________
Sigtran mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/sigtran

---

From: Ankit Kumar Sharma <[email-masked]>
Date: Thu, 15 Oct 2009 15:08:18 +0100

Peer has detected a connection issue and probably that's why it has
sent a notify message after marking the ASP down/inactive.

Could you verify the SCTP heartbeat parameter value at your and peer's end?
If they are different then configure them to have a same value.

On Thu, Oct 15, 2009 at 1:02 PM, Deepak Gunjal <[email-masked]>wrote:

>  I think while restarting the network it is upto the IP layer which get
> restarted i.e. transport restart and probably the SCTP connection context
> remains active.
>
>
>
> That’s why both end keeps on using the existing connection to send Notify
> and ERROR. So if there any reference in the RFC that a peer can send Notify
> with AS-PENDING from AS-ACTIVE state?
>
>
>
> *From:* Ankit Kumar Sharma [mailto:[email-masked]]
> *Sent:* Thursday, October 15, 2009 4:25 PM
>
> *To:* Deepak Gunjal
> *Cc:* [email-masked]
> *Subject:* Re: [Sigtran] In IPSP-IPSP mode what should be the behavior on
> On Thu, Oct 15, 2009 at 10:48 AM, Deepak Gunjal <[email-masked]>
> wrote:
>