Re: potential bug on SFR-CACC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chang,

the first block should find the highest acknowledged TSN. If it is a GapAck, the 
receiver may revoke this acknowledgement later.

For the congestion control, it is important to find out whether there have been 
*new* acknowledgements. A TSN only counts as new once (when it is acknowledged 
for the very first time). After that, particularly also when the 
acknowledgement is revoked (reneging) and the TSN has to be transmitted and 
acknowledged again, any further acknowledgements of the same TSN do not count 
any more as "new".


Søndag 13. oktober 2013 12.11.22 skrev Chang:
> Hi all,
> I'm reading the source code of LK-SCTP and find something that I
> couldn't understand on the SFR-CACC feature of LK-SCTP, which might be a
> bug.
> 
> When a sender receiving a SACK, ***sctp_check_transmitted()*** would be
> invoked to update the state variables related to SFR-CACC, including
> ***highest_new_tsn_in_sack*** and ***cacc_saw_newack***.
> 
> ---------------------------------------------------------
> The scripts to update ***highest_new_tsn_in_sack*** is as follow.
> Function ***sctp_acked*** checks if the tsn is acked(*either*
> *cumulatively* *or* *selectively*) in the sack reply.
> ---------------------------------------------------------
> if(sctp_acked(sack, tsn)) {
>      ......
>      *highest_new_tsn_in_sack  = tsn;
>      ......
> }
> ---------------------------------------------------------
> The scripts to upate ***cacc_saw_newack*** is as follow. It checks if
> the tsn is less/euqal than the *cumulatively* acked TSN in the sack
> reply, which is *INCONSISTENCY* with the abovementioned.
> ---------------------------------------------------------
> if (TSN_lte(tsn, sack_ctsn)) {// sack_ctsn is cumulatively-acked
>      ......
>      if (!tchunk->tsn_gap_acked) {
>          if (transport && sack->num_gap_ack_blocks &&
> q->asoc->peer.primary_path->cacc.changeover_active)
>          transport->cacc.cacc_saw_newack = 1;
>      }
>      ......
> }
> 
> I would appreicate if anyone could confirm this is a work-as-design or a
> bug?
> 
> Cheers!

-- 
Best regards / Mit freundlichen Grüßen / Med vennlig hilsen

=======================================================================
 Thomas Dreibholz

 Simula Research Laboratory
 Simula Innovation AS, Network Systems Group
 Visiting address: Martin Linges vei 17, 1364 Fornebu, Norway
 Mailing address:  P.O.Box 134, 1325 Lysaker, Norway
-----------------------------------------------------------------------
 E-Mail:     dreibh@xxxxxxxxx
 Homepage:   http://simula.no/people/dreibh
=======================================================================

Attachment: signature.asc
Description: This is a digitally signed message part.


[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux