* potential bug on SFR-CACC
@ 2013-10-13 10:14 Chang
2013-10-17 16:20 ` Thomas Dreibholz
0 siblings, 1 reply; 2+ messages in thread
From: Chang @ 2013-10-13 10:14 UTC (permalink / raw)
To: linux-sctp
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 ONLY 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!
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: potential bug on SFR-CACC
2013-10-13 10:14 potential bug on SFR-CACC Chang
@ 2013-10-17 16:20 ` Thomas Dreibholz
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Dreibholz @ 2013-10-17 16:20 UTC (permalink / raw)
To: linux-sctp
[-- Attachment #1: Type: text/plain, Size: 2723 bytes --]
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@simula.no
Homepage: http://simula.no/people/dreibh
=======================================================================
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-10-17 16:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-13 10:14 potential bug on SFR-CACC Chang
2013-10-17 16:20 ` Thomas Dreibholz
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.