[erlang-questions] A lot of SCTP restart happen, and many TSN retransmition(using gen_sctp)

Andy Li J andy.j.li@REDACTED
Mon Oct 13 11:19:38 CEST 2014


Hi,

ULP is Erlang fsm, using gen_sctp and LKSCTP.

When I do our product test, I need to break all the SCTP association and re init the SCTP association.
But from the log, I see that there are many assoc restart. From the wireshark, many SCTP INIT procedure happen,
just INIT, INIT_ACK, COOKIE_ECHO, COOKIE_ACK, HEARTBEAT, HEARTBEAT,
and then peer will send SGSAP-UPDATE-LOCATION_REQUEST(TSN is N), if in the normal situation, we will return SACK and SGSAP-UPDATE-LOCATION-ACCEPTED,
but in the test situation, we only return SACK(and TSN is wrong, N - 1).
And after a while, the peer retransmit the message for some times and do not receive the response and then return ABORT and re INIT again, and loop as above.

B.R
Andy

Attach is the captured pcap file.
Wireshark:
(txt format)

No.     Time        Source                Destination           Protocol Length Info
     15 4.286932    2001:1b70:8288:a0a9::1 2001:1b70:8288:a060::2 SCTP     142    INIT

Frame 15: 142 bytes on wire (1136 bits), 142 bytes captured (1136 bits)
Ethernet II, Src: Ericsson_0e:15:32 (00:80:37:0e:15:32), Dst: Ericsson_0e:19:32 (00:80:37:0e:19:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1), Dst: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0x00000000
    [Assocation index: 0]
    Checksum: 0xb4aefc98 [correct CRC32C]
    INIT chunk (Outbound streams: 17, inbound streams: 17)
        Chunk type: INIT (1)
        Chunk flags: 0x00
        Chunk length: 74
        Initiate tag: 0x1e71dd46
        Advertised receiver window credit (a_rwnd): 32768
        Number of outbound streams: 17
        Number of inbound streams: 17
        Initial TSN: 510778694
        IPv6 address parameter (Address: 2001:1b70:8288:a0a9::1)
        IPv6 address parameter (Address: 2001:1b70:8288:a20e::1)
        Cookie preservative parameter (Increment :0 msec)
        Supported address types parameter (Supported types: IPv6)
        Chunk padding: 0000

No.     Time        Source                Destination           Protocol Length Info
     16 4.287127    2001:1b70:8288:a060::2 2001:1b70:8288:a0a9::1 SCTP     350    INIT_ACK

Frame 16: 350 bytes on wire (2800 bits), 350 bytes captured (2800 bits)
Ethernet II, Src: Cisco_37:90:00 (00:22:bd:37:90:00), Dst: Ericsson_0e:15:32 (00:80:37:0e:15:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2), Dst: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0x1e71dd46
    [Assocation index: 0]
    Checksum: 0xb78979da [correct CRC32C]
    INIT_ACK chunk (Outbound streams: 10, inbound streams: 17)
        Chunk type: INIT_ACK (2)
        Chunk flags: 0x00
        Chunk length: 284
        Initiate tag: 0xc30434de
        Advertised receiver window credit (a_rwnd): 200000
        Number of outbound streams: 10
        Number of inbound streams: 17
        Initial TSN: 1056723666
        State cookie parameter (Cookie length: 260 bytes)

No.     Time        Source                Destination           Protocol Length Info
     17 4.287193    2001:1b70:8288:a0a9::1 2001:1b70:8288:a060::2 SCTP     330    COOKIE_ECHO

Frame 17: 330 bytes on wire (2640 bits), 330 bytes captured (2640 bits)
Ethernet II, Src: Ericsson_0e:15:32 (00:80:37:0e:15:32), Dst: Ericsson_0e:19:32 (00:80:37:0e:19:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1), Dst: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
   Destination port: 29118
    Verification tag: 0xc30434de
    [Assocation index: 0]
    Checksum: 0xaf869bee [correct CRC32C]
    COOKIE_ECHO chunk (Cookie length: 260 bytes)
        Chunk type: COOKIE_ECHO (10)
        Chunk flags: 0x00
        Chunk length: 264
        Cookie: 7213c3065f6ded4744dd76b474d058e20000000000000000...

No.     Time        Source                Destination           Protocol Length Info
     18 4.287275    2001:1b70:8288:a060::2 2001:1b70:8288:a0a9::1 SCTP     70     COOKIE_ACK

Frame 18: 70 bytes on wire (560 bits), 70 bytes captured (560 bits)
Ethernet II, Src: Cisco_37:90:00 (00:22:bd:37:90:00), Dst: Ericsson_0e:15:32 (00:80:37:0e:15:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2), Dst: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0x1e71dd46
    [Assocation index: 0]
    Checksum: 0x0e168b07 [correct CRC32C]
    COOKIE_ACK chunk
        Chunk type: COOKIE_ACK (11)
        Chunk flags: 0x00
        Chunk length: 4

No.     Time        Source                Destination           Protocol Length Info
     19 4.287353    2001:1b70:8288:a20e::1 2001:1b70:8288:a060::2 SCTP     146    HEARTBEAT

Frame 19: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits)
Ethernet II, Src: Ericsson_0e:15:32 (00:80:37:0e:15:32), Dst: Ericsson_0e:1b:32 (00:80:37:0e:1b:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a20e::1 (2001:1b70:8288:a20e::1), Dst: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0xc30434de
    [Assocation index: 0]
    Checksum: 0x1a5a0f5c [correct CRC32C]
    HEARTBEAT chunk (Information: 76 bytes)
        Chunk type: HEARTBEAT (4)
        Chunk flags: 0x00
        Chunk length: 80
        Heartbeat info parameter (Information: 72 bytes)

No.     Time        Source                Destination           Protocol Length Info
     20 4.287429    2001:1b70:8288:a060::2 2001:1b70:8288:a20e::1 SCTP     146    HEARTBEAT_ACK

Frame 20: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits)
Ethernet II, Src: Cisco_37:90:00 (00:22:bd:37:90:00), Dst: Ericsson_0e:15:32 (00:80:37:0e:15:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2), Dst: 2001:1b70:8288:a20e::1 (2001:1b70:8288:a20e::1)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0x1e71dd46
    [Assocation index: 0]
    Checksum: 0xe0a8511b [correct CRC32C]
    HEARTBEAT_ACK chunk (Information: 76 bytes)
        Chunk type: HEARTBEAT_ACK (5)
        Chunk flags: 0x00
        Chunk length: 80
        Heartbeat info parameter (Information: 72 bytes)

No.     Time        Source                Destination           Protocol Length Info
     21 4.343644    2001:1b70:8288:a060::2 2001:1b70:8288:a0a9::1 SCTP     118    HEARTBEAT

Frame 21: 118 bytes on wire (944 bits), 118 bytes captured (944 bits)
Ethernet II, Src: Cisco_37:90:00 (00:22:bd:37:90:00), Dst: Ericsson_0e:15:32 (00:80:37:0e:15:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2), Dst: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0x1e71dd46
    [Assocation index: 0]
    Checksum: 0x5d00d3b2 [correct CRC32C]
    HEARTBEAT chunk (Information: 48 bytes)
        Chunk type: HEARTBEAT (4)
        Chunk flags: 0x00
        Chunk length: 52
        Heartbeat info parameter (Information: 44 bytes)

No.     Time        Source                Destination           Protocol Length Info
     22 4.343691    2001:1b70:8288:a0a9::1 2001:1b70:8288:a060::2 SCTP     118    HEARTBEAT_ACK

Frame 22: 118 bytes on wire (944 bits), 118 bytes captured (944 bits)
Ethernet II, Src: Ericsson_0e:15:32 (00:80:37:0e:15:32), Dst: Ericsson_0e:19:32 (00:80:37:0e:19:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1), Dst: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0xc30434de
    [Assocation index: 0]
    Checksum: 0xf7d5f2d0 [correct CRC32C]
    HEARTBEAT_ACK chunk (Information: 48 bytes)
        Chunk type: HEARTBEAT_ACK (5)
        Chunk flags: 0x00
        Chunk length: 52
        Heartbeat info parameter (Information: 44 bytes)

No.     Time        Source                Destination           Protocol Length Info
     23 4.445784    2001:1b70:8288:a0a9::1 2001:1b70:8288:a060::2 SGSAP    174    SGsAP-LOCATION-UPDATE-REQUEST

Frame 23: 174 bytes on wire (1392 bits), 174 bytes captured (1392 bits)
Ethernet II, Src: Ericsson_0e:15:32 (00:80:37:0e:15:32), Dst: Ericsson_0e:19:32 (00:80:37:0e:19:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1), Dst: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0xc30434de
    [Assocation index: 0]
    Checksum: 0x119e6a6f [correct CRC32C]
    DATA chunk(ordered, complete segment, TSN: 510778694, SID: 1, SSN: 0, PPID: 0, payload length: 91 bytes)
        Chunk type: DATA (0)
        Chunk flags: 0x03
        Chunk length: 107
        TSN: 510778694
            [This TSN was retransmitted 8 times]
        Stream Identifier: 0x0001
        Stream sequence number: 0
        Payload protocol identifier: not specified (0)
        Chunk padding: 00
SGs Application Part (SGsAP)

No.     Time        Source                Destination           Protocol Length Info
     24 4.445886    2001:1b70:8288:a060::2 2001:1b70:8288:a0a9::1 SCTP     82     SACK

Frame 24: 82 bytes on wire (656 bits), 82 bytes captured (656 bits)
Ethernet II, Src: Cisco_37:90:00 (00:22:bd:37:90:00), Dst: Ericsson_0e:15:32 (00:80:37:0e:15:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2), Dst: 2001:1b70:8288:a0a9::1 (2001:1b70:8288:a0a9::1)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0x1e71dd46
    [Assocation index: 0]
    Checksum: 0xb4344ed7 [correct CRC32C]
    SACK chunk (Cumulative TSN: 510778693, a_rwnd: 200000, gaps: 0, duplicate TSNs: 0)
        Chunk type: SACK (3)
        Chunk flags: 0x00
        Chunk length: 16
        Cumulative TSN ACK: 510778693
        Advertised receiver window credit (a_rwnd): 200000
        Number of gap acknowledgement blocks: 0
        Number of duplicated TSNs: 0

No.     Time        Source                Destination           Protocol Length Info
     25 4.504540    2001:1b70:8288:a060::2 2001:1b70:8288:a20e::1 SCTP     118    HEARTBEAT

Frame 25: 118 bytes on wire (944 bits), 118 bytes captured (944 bits)
Ethernet II, Src: Cisco_37:90:00 (00:22:bd:37:90:00), Dst: Ericsson_0e:15:32 (00:80:37:0e:15:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2), Dst: 2001:1b70:8288:a20e::1 (2001:1b70:8288:a20e::1)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0x1e71dd46
    [Assocation index: 0]
    Checksum: 0x4113b97c [correct CRC32C]
    HEARTBEAT chunk (Information: 48 bytes)
        Chunk type: HEARTBEAT (4)
        Chunk flags: 0x00
        Chunk length: 52
        Heartbeat info parameter (Information: 44 bytes)

No.     Time        Source                Destination           Protocol Length Info
     26 4.504587    2001:1b70:8288:a20e::1 2001:1b70:8288:a060::2 SCTP     118    HEARTBEAT_ACK

Frame 26: 118 bytes on wire (944 bits), 118 bytes captured (944 bits)
Ethernet II, Src: Ericsson_0e:15:32 (00:80:37:0e:15:32), Dst: Ericsson_0e:1b:32 (00:80:37:0e:1b:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a20e::1 (2001:1b70:8288:a20e::1), Dst: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0xc30434de
    [Assocation index: 0]
    Checksum: 0xebc6981e [correct CRC32C]
    HEARTBEAT_ACK chunk (Information: 48 bytes)
        Chunk type: HEARTBEAT_ACK (5)
        Chunk flags: 0x00
        Chunk length: 52
        Heartbeat info parameter (Information: 44 bytes)

No.     Time        Source                Destination           Protocol Length Info
     27 4.646345    2001:1b70:8288:a20e::1 2001:1b70:8288:a060::2 SCTP     174    DATA (retransmission)

Frame 27: 174 bytes on wire (1392 bits), 174 bytes captured (1392 bits)
Ethernet II, Src: Ericsson_0e:15:32 (00:80:37:0e:15:32), Dst: Ericsson_0e:1b:32 (00:80:37:0e:1b:32)
Internet Protocol Version 6, Src: 2001:1b70:8288:a20e::1 (2001:1b70:8288:a20e::1), Dst: 2001:1b70:8288:a060::2 (2001:1b70:8288:a060::2)
Stream Control Transmission Protocol, Src Port: 29118 (29118), Dst Port: 29118 (29118)
    Source port: 29118
    Destination port: 29118
    Verification tag: 0xc30434de
    [Assocation index: 0]
    Checksum: 0x119e6a6f [correct CRC32C]
    DATA chunk(ordered, complete segment, TSN: 510778694, SID: 1, SSN: 0, PPID: 0, payload length: 91 bytes)
        Chunk type: DATA (0)
        Chunk flags: 0x03
        Chunk length: 107
        TSN: 510778694
            [This TSN is a retransmission of one in frame: 23]
        Stream Identifier: 0x0001
        Stream sequence number: 0
        Payload protocol identifier: not specified (0)
        Chunk padding: 00

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20141013/3a0c30e0/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: a060_2.pcap
Type: application/octet-stream
Size: 800778 bytes
Desc: a060_2.pcap
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20141013/3a0c30e0/attachment.obj>


More information about the erlang-questions mailing list