Gabriel Ferreira
4e642e5d60
internet: Fix tcp flags check to determine packet type
...
(TcpHeader::ACK | TcpHeader::ECE) was not correctly tested, resulting in an uninitialized packetType value
2024-10-06 03:23:07 +02:00
Tom Henderson
38055f5e6d
tcp: Prevent DupAck classification on segments with data
...
Credits to Neal Cardwell for finding the issue.
2024-09-29 23:45:12 +05:30
Andreas Boltres
f70eabb0f9
tcp: Add TCP retransmission trace source
2024-09-27 09:25:08 -07:00
Aniket Singh
3ac4ea7ce3
tcp: ( fixes #1011 ) Forbid ECN-marking of retransmissions, window probes and pure ACKs
2024-09-18 15:32:07 +00:00
André Apitzsch
8bc94a1cc3
Use SPDX license identifiers
2024-09-06 19:32:31 +00:00
Eduardo Almeida
e8ed6a539c
Fix Doxygen formatting
2024-08-29 01:03:20 +00:00
Aniket Singh
3be702f769
tcp ( fixes #1043 ): Fix BBR incorrect minRtt updates
2024-07-03 17:35:06 +00:00
Eduardo Almeida
aedd34ca8f
Fix local #include headers by removing the "ns3/" prefix
2023-09-17 17:19:59 +01:00
Eduardo Almeida
c5371d938c
Fix clang-tidy readability-make-member-function-const warnings
2023-02-21 16:09:35 +00:00
Eduardo Almeida
4930479af4
Remove enum / struct specifiers when declaring the variable's type
2022-12-05 19:05:45 +00:00
Eduardo Almeida
dfc6fb9d2d
Remove emacs comment from C++ files
2022-10-14 14:13:12 +00:00
Eduardo Almeida
e25ff966fe
Apply clang-format to codebase
2022-10-07 20:08:35 +00:00
Eduardo Almeida
be07b6487a
Fix clang-tidy modernize-use-override warnings
2022-10-07 11:48:10 +00:00
Eduardo Almeida
6bb6383562
Fix clang-tidy modernize-redundant-void-arg warnings
2022-10-07 11:48:10 +00:00
Gabriel Ferreira
60e1e4032c
fixing dead links
2022-06-18 17:57:05 -03:00
Tommaso Pecorella
21fb224e8a
internet: fix doxygen warnings
2021-05-01 04:14:27 +02:00
Tom Henderson
993226f55b
tcp: Add CWR state for the recovery phase after ECN-Echo (ECE)
2020-12-22 08:23:30 -08:00
Deepak Kumaraswamy
3552db04ce
tcp: Add dynamic pacing implementation based on Linux internal pacing
...
Includes contributions from Tom Henderson, Vivek Jain, and Viyom Mittal
2020-08-31 08:54:32 -07:00
Tom Henderson
c9b96134b1
tcp: ( fixes !157 ) Prevent sending outside receiver window
...
According to RFC 6675, the NextSeg() method should return the range of
sequence space to transmit, not just the starting sequence number. The
method should also check the available receiver window. This changeset
extends NextSeg() to return the valid range of sequence numbers to send,
and makes the receiver window value available to the TcpTxBuffer object.
2020-06-14 11:47:08 -07:00
Xiuchao Wu
c86c855923
tcp: ( fixes !156 ) enter CA_RECOVERY despite large sequence number increase
...
When the sequence number is advanced significantly between two
packet loss events, the TCP sender will fail to enter into CA_RECOVERY state
if the sequence number gap between loss events is large enough. This change
adds an additional state variable to track whether fast recovery is active.
2020-06-13 15:48:03 -07:00
Tom Henderson
b9da6d6484
internet: ( fixes #222 ) Fix ECN check functions (and Doxygen)
2020-06-08 17:21:15 -07:00
hax0kartik (GCI 2019)
1f3735f6f0
Replace calls to Scheduler::Remove(EventId) with EventId::Cancel
2020-05-13 00:08:08 +00:00
Vivek Jain
12d9d5b324
tcp: add attribute UseEcn for enabling and disabling ECN functionality
...
* add new attribute in TcpDctcp to enable the option for choosing
ECT codepoint
* add TcpDctcp in TcpVariantsComparison example
2020-02-09 17:33:30 -08:00
Vivek Jain
43516a0ec4
tcp: Auto Enable DctcpEcn for Dctcp
2020-02-09 17:33:30 -08:00
Vivek Jain
c3265b7d44
tcp: Move m_rxBuffer in TcpSocketState and add SendEmptyPacket callback
2020-02-09 17:12:57 -08:00
Vivek Jain
3024805d16
tcp: Feed RateOps from TcpSocketBase
...
(incorporating comments from Natale P.)
2019-09-30 06:51:09 -07:00
Natale Patriciello
e5ebdb3b11
tcp: Get the number of bytes SACKed out of the option processing
2019-09-30 06:50:19 -07:00
Natale Patriciello
813ec47cd1
tcp: Add published citations to documentation
2018-08-26 06:33:14 -07:00
Alexander Krotov
8d1b7b1391
Spellcheck the rest of ns-3
2018-06-28 12:51:39 +03:00
Shravya Ks
084ffd070b
tcp: Add ECN support (with contributions from Vivek Jain)
2018-06-09 12:00:54 -07:00
Natale Patriciello
be1056f204
tcp: TcpSocketState split from TcpSocketBase to help forward declaring
2018-05-15 22:19:16 +02:00
Natale Patriciello
d2298f36df
tcp: Forward declare as much as possible
2018-05-15 22:18:27 +02:00
Viyom
aeb3d27b4d
tcp: Modularization of Fast Recovery - I
2018-05-11 19:30:43 +02:00
Vivek Jain
b84b30547d
tcp: moved RTT and BytesInFlight in TcpSocketState
2018-05-11 19:23:31 +02:00
Natale Patriciello
b93c00f8b8
tcp: ( fixes #1783 #2832 #2859 ) Unify code path for SACK and non-SACK connections. Thanks to Tom H., Menglei Zhang, Viyom Mittal
2018-03-03 12:00:13 +01:00
Natale Patriciello
abd5f6464d
tcp: Simplified BytesInFlight and IsLost for SACK connections
2018-03-03 11:53:32 +01:00
Natale Patriciello
085eeca653
tcp: Removed duplicated code for assigning socket tag
2018-02-25 11:36:23 +01:00
Natale Patriciello
7552517ba1
tcp: DeHeaderize TcpSocketBase, c++11 initializers
2018-02-25 11:32:43 +01:00
Vivek Jain
f1da2c177e
tcp: Save minRtt in TcpSocketState
2018-01-19 16:49:41 +01:00
Ankit Deepak
d742ba2155
tcp: (feature #2677 ) Added cwnd events to cong control
2017-12-13 19:04:27 +01:00
Vivek Jain
c1122f9a87
tcp: (feature 2823) Implemented TCP Pacing
2017-12-13 19:00:07 +01:00
Peter D. Barnes, Jr.
dfe5fb5ca9
tcp: doxy: correct formal args in callback typedef
2017-05-12 10:29:43 -07:00
Christoph Döpmann
fbd0cfb1fb
tcp: Advertised Window was still incorrect
2017-02-06 13:56:19 +01:00
Ankit Deepak
7aa7e4dc35
tcp: Added TCP Ledbat
2017-02-06 13:17:50 +01:00
Tommaso Pecorella
7ce60ab528
internet: Doxygen fixes
2017-02-04 01:52:02 +01:00
Natale Patriciello
3edf5deef6
tcp: Documentation corrected
2017-02-03 19:52:14 +01:00
Natale Patriciello
db82b92b54
tcp: TCP SACK documentation
2017-02-03 14:03:01 +01:00
Natale Patriciello
7f593ecde6
tcp: generate SACK options with out-of-order segments
2017-02-03 14:02:36 +01:00
Natale Patriciello
0de265445c
tcp: RFC 6675-compliant Retransmission Timeout
2017-02-03 14:02:24 +01:00
Natale Patriciello
efc5f3c53b
tcp: RFC 6675-compliant Fast Retransmit/Recovery
2017-02-03 14:02:21 +01:00