Asset ID: |
1-71-2047963.1 |
Update Date: | 2017-06-30 |
Keywords: | |
Solution Type
Technical Instruction Sure
Solution
2047963.1
:
Diameter Connection SCTP Rx Buffer Size does not match SCTP a_rwnd value on Responder connections
Related Items |
- Oracle Communications Diameter Signaling Router (DSR)
|
Related Categories |
- PLA-Support>Sun Systems>CommsGBU>Global Signaling Solutions>SN-SND: Tekelec DSR
|
In this Document
Created from <SR 3-10149744961>
Applies to:
Oracle Communications Diameter Signaling Router (DSR) - Version DSR 4.0 and later
Information in this document applies to any platform.
Goal
This document is intended to describe certain behavior of the Oracle Communications Diameter Signaling Router when setting the a_rwnd value in SCTP INIT, INIT_ACK, and SACK datagrams.
Solution
Condition Description:
===============
For a Diameter Connection in Responder mode, the SCTP Socket Send Buffer Size value configured in the Connection Configure Set associated with the Connection may not appear in SCTP a_rwnd parameter of the INIT_ACK and SACK datagrams sent by the DSR.
Background:
===============
The a_rwnd [advertised receive window] value in the INIT or INIT ACK represents the dedicated buffer space the sender has reserved associated with the window. It is important to understand that this value is advertised at initiation of the SCTP association by each side, and does not change after the association is established (except of course to reflect consumption by datagrams in waiting, as seen in SACK values).
DSR Behavior:
===============
In the DSR, connections configured as Initiator will send the SCTP INIT with an a_rwnd value equal to the Socket Receive Buffer Size value specified for the Connection Configuration Set applied to the CONNECTION.
In the DSR, connections configured as Responder will send the SCTP INIT ACK with an a_rwnd value equal to the Socket Receive Buffer Size value specified in the Connection Configuration Set applied to the LOCAL NODE.
Responder Explanation:
===============
In the case of Responder connections, the Linux Kernel SCTP (LK-SCTP) stack used by DSR conducts the accept() and formulates the INIT ACK based on common local node settings. After the DSR application layer receives the Diameter CER and responds with a CEA, the Socket Receive Buffer Size associated with the CONNECTION is applied to the kernel SCTP association value. The local buffer size changes accordingly in the kernel, but the SCTP negotiation has concluded so this new value for SCTP a_rwnd is never updated or communicated to the far-end peer.
Status:
===============
The design of the DSR for SCTP connections leverages the LK-SCTP stack, and the engineering community included this behavior in their intended design. The behavior has not been adequately described in online-help or other Oracle Communications Diameter Signaling Router documentation, which has allowed misconceptions of how the a_rwnd SCTP parameter will be populated. A DSR Bug has been written to correct the documentation in the future [BugID 20702030].
Possible Workarounds, if desired:
===============
Based on this behavior, there are two ways to ensure a_rwnd value reflects the actual Socket Receive Buffer Size at the DSR for the connection if that is the desired condition.
- The Connection can be set up as Initiator.
- Change the Connection Configuration Set associated with the local node to an entry with the desired receive buffer value.
The latter suggestion requires network planning.
Created from <SR 3-10149744961>
Applies to:
Oracle Communications Diameter Signaling Router (DSR) - Version DSR 4.0 and later
1-914CU
References
<BUG:20702030> - DIAMETER CONNECTION SCTP A_RWND DOES NOT MATCH RX BUFFER SIZE FOR RESPONDER
Attachments
This solution has no attachment