All of lore.kernel.org
 help / color / mirror / Atom feed
* 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

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.