Subject: [Tsvwg] SCTP - HB/HB-ack processing

From: bhanu <[email-masked]>
Date: Tue, 24 May 2005 14:06:54 +0530

Hai all..

When a Heartbeat or Heartbeat-Ack is received without any information,
what action need to be taken.

Please clarify.

Regards
Bhanu.

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

---

From: Michael Tuexen <[email-masked]>
Date: Tue, 24 May 2005 21:20:18 +0200

Hi Bhanu,

if you receive an HB-ACK without information you might have sent
one... If not, I would just discard it.

If you receive an empty HB you just send back an empty HB-ACK.

Best regards
Michael

---

From: bhanu <[email-masked]>
Date: Wed, 25 May 2005 13:30:42 +0530

Hai Michael Tuexen,

But the RFC-2960 says

Section:
8.3 Path Heartbeat

    The sender of the HEARTBEAT chunk should include in the Heartbeat
    Information field of the chunk the current time when the packet is
    sent out and the destination address to which the packet is sent.

    The receiver of the HEARTBEAT should immediately respond with a
    HEARTBEAT ACK that contains the Heartbeat Information field copied
    from the received HEARTBEAT chunk.

Please see my in-line comments.

> one... If not, I would just discard it.

If we are accepting the HB-ACK without information, what about Timer 
(RTO updation)...?
and what about the retransmission counter..?

> If you receive an empty HB you just send back an empty HB-ACK.

Is it OK to send ERROR with cause "MISSING MANDATORY PARAMETER".

Regards
Bhanu.

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Wed, 25 May 2005 02:21:13 -0600

bhanu,

Well, the passage says "should" and not "must".

I agree with Michael: unexpected HB-ACK can be discarded.  Also, HB
is normally responded to with HB-ACK containing whatever was included
(or not) in the original heartbeat.

There are a few exceptions: in some states neither will be accepted; and
in some states, different procedures apply depending on things like vtags
and IP addresses; but, in the established state, all other things being
equal and correct, what Michael describes is IMO appropriate.

--brian

-- 
Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
[email-masked]    ¦ world; the unreasonable one persists in  ¦
http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
                        ¦ Therefore  all  progress  depends on the ¦
                        ¦ unreasonable man. -- George Bernard Shaw ¦

---

From: Michael Tuexen <[email-masked]>
Date: Wed, 25 May 2005 10:54:54 +0200

Hi Bhanu,

I would implement the processing of a received HEARTBEAT by just  
changing the
type the HEARTBEAT-ACK and send it out again. No checking. Not  
looking into
the structure of the chunk value.

When I receive a HEARTBEAT-ACK I expect it of a certain structure. I  
would
do some checking and accept it if it passes the checks. If not, I  
would just
discard it and continue processing as if I had never received it  
(including
incrementing the error counters). I'm not sure about the ERROR. You  
can send
it, but does it help? I do not think so. If the HEARTBEAT-ACK comes  
modified
from a peer, he is broken or attacking you. So would he act on the  
ERROR?

Best regards
Michael

On May 25, 2005, at 10:00 AM, bhanu wrote:

> If we are accepting the HB-ACK without information, what about  
> Timer (RTO updation)...?

---

From: bhanu <[email-masked]>
Date: Thu, 26 May 2005 17:04:14 +0530

Hi
It was a useful information.
I need some clarification on following:

(1)
If an ERROR chunk is received with a invalid cause length, what action 
need to be taken..?
and what about the other bundled chunks, if present..?
( in this case the chunk length might be correct, otherwise next chunk 
cannot be extracted).

(2)
If an Un-recognized chunk is received with highest-order two bits 
specifying:
10 - Skip this chunk and continue processing.
what about the other bundled chunks, if present..?
should we consider chunk length as correct and extract next chunk..?

Please clarify.

Regards
Bhanu.

---

From: Michael Tuexen <[email-masked]>
Date: Thu, 26 May 2005 17:16:01 +0200

Hi Bhanu,

see my comments in-line.

Best regards
Michael

On May 26, 2005, at 1:34 PM, bhanu wrote:

> If an ERROR chunk is received with a invalid cause length, what  
> action need to be taken..?
> ( in this case the chunk length might be correct, otherwise next  
> chunk cannot be extracted).
I would not process the ERROR chunk and continue processing the next  
chunk. If you send
an ERROR is up to you. I do not think the receiver will do anything  
with it, but if
is shows up in a message trace someone might look at it and fix the  
bug. On the other
hand this might end up in an ERROR ping-pong exchange, because if the  
sender sends wrong
packets he might consider correct ones to be bad. So I would not send  
back an ERROR...
> should we consider chunk length as correct and extract next chunk..?
Yes, the length is considered correct and you just continue processing
the next chunk.
>> When I receive a HEARTBEAT-ACK I expect it of a certain structure.  
>> I  would
>> incrementing the error counters). I'm not sure about the ERROR.  
>> You  can send
>> it, but does it help? I do not think so. If the HEARTBEAT-ACK  
>> comes  modified
>> from a peer, he is broken or attacking you. So would he act on  
>> the  ERROR?
>>
>> Best regards
>> Michael
>>