Bug 2393 - TcpCongestionOps should be able to access socket
TcpCongestionOps should be able to access socket
Status: RESOLVED LATER
Product: ns-3
Classification: Unclassified
Component: tcp
pre-release
PC All
: P5 enhancement
Assigned To: natale.patriciello
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-05-01 11:25 UTC by Matthieu Coudron
Modified: 2016-11-24 03:46 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthieu Coudron 2016-05-01 11:25:30 UTC
In MPTCP, congestion control is coupled between subflows as in the increase of the cwnd depends on the other subflows cwnd. Hence TcpCongestionOps needs to be able to access the other subflows cwnds as shown in:
https://github.com/teto/ns-3-dev-git/blob/merge_nat/src/internet/model/mptcp-cc-lia.cc

I propose to change the prototype of TcpCongestionOps::IncreaseWindow to 
virtual void IncreaseWindow (Ptr<TcpSocketBase> , Ptr<TcpSocketState> tcb) = 0;
Comment 1 Tom Henderson 2016-05-04 17:02:12 UTC
You have dropped the segmentsAcked parameter from the signature.  It seems that you intend to now call it for every segment size, but your comment in the file trails off about your future plans:

// TODO in this version, this function is called for each segment size
// in future versions (>3.25), one can 

is your plan to again allow calling once for multiple segments acked?

I'd suggest that if you want to propose a header update now which you're certain is stable for future MPTCP merge, perhaps post a patch with aligned doxygen.