Bug 2393

Summary: TcpCongestionOps should be able to access socket
Product: ns-3 Reporter: Matthieu Coudron <mattator>
Component: tcpAssignee: natale.patriciello
Status: RESOLVED LATER    
Severity: enhancement CC: ns-bugs, tomh
Priority: P5    
Version: pre-release   
Hardware: PC   
OS: All   

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.