NAME

  MaxBurstLimit.seq - Protocol parameter Max.Burst limits the number of new data chunks that can be sent


PURPOSE

  To check that when the time comes for the sender to transmit new DATA 
  chunks, the protocol parameter Max.Burst SHOULD be used to limit the
  number of packets sent.


SYNOPSIS

  ./MaxBurstLimit.seq [-tooloption ...] -pkt ./MaxBurstLimit.def
    -tooloption : v6eval tool option
  See Also: ../common/STD_PKT_COMMON.def
            ../common/SCTP_COMMON.def


PRE-TEST CONDITION

  Association is established between endpoint A and B. Arrange data 
  in endpoint B such that DATA chunk is sent to endpoint A.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (ESTABLISHED)                        (ESTABLISHED)
                                                 <-----    Send
                  <----------------       DATA 1
  Don't Send SACK  
                  <----------------       DATA 2
  Don't Send SACK  
                  <----------------       DATA 3
  Don't Send SACK  
                  <----------------       DATA 4
  Don't Send SACK  
  SACK            ----------------->
  (To DATA 1)
  SACK            ----------------->
  (To DATA 2)
  SACK            ----------------->
  (From DATA 3 to DATA 4)
                  <----------------       DATA 5
  SACK            ----------------->
                  <----------------       DATA 6
  SACK            ----------------->
                  <----------------       DATA 7
  SACK            ----------------->
  DATA            ----------------->
                  <----------------       SACK
                                                 <-----    Send
                  <----------------       DATA 1
  Don't Send SACK  
                  <----------------       DATA 2
  Don't Send SACK  
                  <----------------       DATA 3
  Don't Send SACK  
                  <----------------       DATA 4
  Don't Send SACK  
                  <----------------       DATA 5
  SACK            ----------------->
  (From DATA 1 to DATA 5)
                  <----------------       DATA 6
  SACK            ----------------->
                  <----------------       DATA 7
  SACK            ----------------->
  TEST DESCRIPTION:
  1. Check A: the initial cwnd before DATA transmission is set to 4380.
  2. From endpoint B, send valid DATA message 7 times to endpoint A,
     when there is association between them.
  3. From endpoint A, after received 4 DATA message, send SACK of the
     first DATA to endpoint B.
  4. Check B: Congestion control window is 5732 now.
  5. Send SACK of the second DATA to endpoint B.
  6. Check C: Congestion control window is 7084 now.
  7. Received and SACK the rest DATA messages.
  8. Send DATA message to endpoint B, and then endpoint B will send SACK.
  9. From endpoint B, send valid DATA message 7 times to endpoint A.
  10.From endpoint A, after received 5 DATA message, send SACK of all the
     five DATA to endpoint B.
  11.Received and SACK the rest DATA messages.
  12.Check D: Congestion control window is 6000 now.
  13.Received and SACK the rest DATA messages.


NOTE

  None


REFERENCE

  RFC 4960
  6.1.  Transmission of DATA Chunks
    D) When the time comes for the sender to transmit new DATA chunks,
       the protocol parameter Max.Burst SHOULD be used to limit the
       number of packets sent.  The limit MAY be applied by adjusting
       cwnd as follows:
       if((flightsize + Max.Burst*MTU) < cwnd) cwnd = flightsize +
       Max.Burst*MTU
       Or it MAY be applied by strictly limiting the number of packets
       emitted by the output routine.