Configure SCTP Data Flow and Congestion Control

Contents


1   Description

The property is set per SctpProfile=<X> where <X> is custom profile number from 0 to 255. Profile 0 is used as default and always exists after cluster deployment; other profiles can be created manually if needed.

The following properties can be set:

Retransmission time-out (RTO)

The value of minRto must be less than or equal to initRto, and less than or equal to maxRto.

Bundling

The bundlingThreshold takes effect when both bundlingActivated and bundlingTimer are set.

Congestion Control

Buffers

The value of thrTransmitBuffer must be less than the value of transmitBufferSize

Path Retransmissions

The value of assocMaxRtx must be greater than or equal to the pathMaxRtx.

Switch Back to Primary (Volatile Mode)

The minActivateThr and maxActivateThr make sense if the noSwitchback is not set.

The value of minActivateThr must be less or equal to maxActivateThr.

Primary Path Avoidance

The primaryPathMaxRtx makes sense if the primaryPathAvoidance is set.

MTU

2   Procedure

2.1   Configure SCTP Data Flow and Congestion Control

Prerequisites

Steps

  1. Navigate to the SctpProfile MO, for example:

    >ManagedElement=1,Transport=1,Sctp=1,SctpProfile=0

  2. Enter Configuration mode:

    (SctpProfile=0)>configure

  3. Set the Alpha Index of RTO calculation in the SCTP protocol with the alphaIndex attribute, for example:

    (config-SctpProfile=0)>alphaIndex=ALPHA_1_2ND

    Possible values are ALPHA_1_2ND, ALPHA_1_4TH, ALPHA_1_8TH, ALPHA_1_16TH.

  4. Set AMR, the maximum number of packet retransmissions in the SCTP protocol with the assocMaxRtx attribute, for example:

    (config-SctpProfile=0)>assocMaxRtx=4

  5. Set the Beta Index of RTO calculation in the SCTP protocol with the betaIndex attribute:

    (config-SctpProfile=0)>betaIndex=BETA_1_2ND

    Possible values are BETA_1_16TH, BETA_1_2ND, BETA_1_4TH, BETA_1_8TH.

  6. Set the Bundling Status in the SCTP protocol with a boolean value in the bundlingActivated attribute, for example:

    (config-SctpProfile=0)>bundlingActivated=false

    Possible values are true and false.

  7. Set the Bundling Threshold (percentage) with a numeric value in the bundlingThreshold attribute, for example:

    (config-SctpProfile=0)>bundlingThreshold=20

  8. Set the Bundling Timer value (in ms) in the SCTP protocol with a numeric value in the bundlingTimer attribute, for example:

    (config-SctpProfile=0)>bundlingTimer=15

  9. Enable or disable the Explicit Congestion Notification (ECN) feature in SCTP with the ecnCapability attribute, for example:

    (config-SctpProfile=0)>ecnCapability=YES

    Possible values are YES and NO.

  10. Set the initial value of the advertised receiver window parameter (the receive buffer) in SCTP protocol with the initARWnd attribute, for example:

    (config-SctpProfile=0)>initARWnd=65000

  11. Set Initial RTO (in ms) of the SCTP protocol with a numeric value in the initRto attribute, for example:

    (config-SctpProfile=0)>initRto=100

  12. Set the maximum packets burst in SCTP protocol, part of congestion control. Set a numeric value (in packets) in the maxBurst attribute, for example:

    (config-SctpProfile=0)>maxBurst=5

  13. Set the maximum number of INIT and COOKIE_ECHO chunk retransmission. Set a numeric value for the number of times in the maxInitRt attribute, for example:

    (config-SctpProfile=0)>maxInitRt=5

  14. Set the maximum RTO (in ms) of the SCTP protocol with a numeric value in the maxRto attribute, for example:

    (config-SctpProfile=0)>maxRto=200

  15. Set the maximum number of retransmissions of the SHUTDOWN and SHUTDOWN_ACK chunks with a numeric value of the maxShutdownRt attribute, for example:

    (config-SctpProfile=0)>maxShutdownRt=5

  16. Set the minimum RTO (in ms).with a numeric value in the minRto attribute, for example:

    (config-SctpProfile=0)>minRto=20

  17. Configure the Path Selection Adjustment with the noSwitchback attribute, for example:

    (config-SctpProfile=0)>noSwitchback=true

    Possible values are true and false.

  18. Set the minimum number of consecutive successful heartbeats needed to switch back to Primary Path with the minActivateThr attribute, for example:

    (config-SctpProfile=0)>minActivateThr=1

  19. Set the maximum number of consecutive successful heartbeats needed to switch back to Primary Path with the maxActivateThr attribute, for example:

    (config-SctpProfile=0)>maxActivateThr=1

  20. Set the Path Maximum Retransmission value, the maximum number of consecutive retransmissions on an IP path, with the pathMaxRtx attribute, for example:

    (config-SctpProfile=0)>pathMaxRtx=4

  21. Set the Primary Path Avoidance option in the Path Selection Adjustment property with the primaryPathAvoidance attribute, for example:

    (config-SctpProfile=0)>primaryPathAvoidance=true

    Possible values are true and false.

  22. Set the Primary Path Maximum Retransmission, the maximum value of the error counter of the current Primary Path if Primary Path avoidance is enabled, with the primaryPathMaxRtx attribute, for example:

    (config-SctpProfile=0)>primaryPathMaxRtx=2

  23. Set the congestion threshold (in KB) of the transmit buffer (when allocated bytes reach the threshold, the congestion is raised) with the thrTransmitBuffer attribute, for example:

    (config-SctpProfile=0)>thrTransmitBuffer=700

  24. Set the size of threshold of the transmit buffer (in percent) when congestion cease indication is sent with the thrTransmitBufferCongCeased attribute, for example:

    (config-SctpProfile=0)>thrTransmitBufferCongCeased=85

  25. Set the size of transmit buffer (in KB) with the transmitBufferSize attribute, for example:

    (config-SctpProfile=0)>transmitBufferSize=1000

  26. Set the size of MTU for IPv4 (in bytes) with the maxSctpPduSize attribute, for example:

    (config-SctpProfile=0)>maxSctpPduSize=1480

  27. Set the size of MTU for IPv6 (in bytes) with the ipv6Pmtu attribute, for example:

    (config-SctpProfile=0)>ipv6Pmtu=1460

  28. Commit the changes:

    (config-SctpProfile=0)>commit

  29. Verify the settings:

    (SctpProfile=0)>show

    The following is an example output:

    SctpProfile=0
    ...alphaIndex=ALPHA_1_2ND
    ...assocMaxRtx=4
    ...betaIndex=BETA_1_2ND
    ...bundlingActivated=false
    ...bundlingThreshold=20
    ...bundlingTimer=15
    ...ecnCapability=YES
    ...initARWnd=65000
    ...initRto=100
    ...ipv6Pmtu=1460
    ...maxActivateThr=1
    ...maxBurst=5
    ...maxInitRt=5
    ...maxRto=200
    ...maxSctpPduSize=1480
    ...maxShutdownRt=5
    ...minActivateThr=1
    ...minRto=20
    ...noSwitchback=true
    ...pathMaxRtx=4
    ...primaryPathAvoidance=true
    ...primaryPathMaxRtx=2
    ...thrTransmitBuffer=700
    ...thrTransmitBufferCongCeased=85
    ...transmitBufferSize=1000