Commit Graph

52 Commits

Author SHA1 Message Date
Natale Patriciello
1bc7bed8b3 Added slow start test
Two test added: one for the normal slow start behavior in presence of a
normal socket (receive a packet, and ACKs the sequence number
according to the RFC) and the other with a malicious socket which sends
many small ACKs (on bad implementation this should artificially inflate
the window).
2015-10-16 10:43:48 -07:00
Natale Patriciello
74beb15f40 Added an ErrorChannel aware of TCP
The class is responsible to take away the IP and TCP header from the packet,
and then to interrogate the pure virtual method ShouldDrop, dropping the packet
accordingly to the returned value. An implementation is a channel which
drops packet with specified flags.
2015-10-16 10:43:44 -07:00
Natale Patriciello
157fec86d9 Added a GeneralTest class for TCP
The class provides a general infrastructure for a TCP-related test,
setting up the environment (two sockets connected through
SimpleNetDevice over SimpleChannel) and provides the basic management of
parameters (like segment size).
2015-10-16 10:43:36 -07:00
Natale Patriciello
b87e04a77a Splitted congestion control from TcpSocketBase
Added TcpCongestionOps class, in where the congestion control is
managed. It is created/added to a socket through TcpL4Protocol.

TcpSocketBase and the congestion algorithm classes reworked to be
compatible with the new TcpCongestionOps class.
2015-10-16 10:42:30 -07:00
Natale Patriciello
2c0cfe1201 Removed Tahoe. 2015-10-16 10:38:57 -07:00
Natale Patriciello
194cca3ad9 Removed RFC 793 TCP, without congestion control
Using the TCP without congestion control is not recommented anymore by
IETF. This patch removes the class derived from RFC793. Its behavior
could be reintroduced later with using some conditional Attributes
inside TcpSocketBase.
2015-10-16 10:38:44 -07:00
Natale Patriciello
51e94e52f0 Removed TcpReno from ns-3 mainline
TcpNewReno is introduced in RFC 2582. The most recent RFC on this is
the RFC 6582. Since its introduction, Tcp NewReno is the RECOMMENDED
algorithm by the Internet Engineering Task Force. The main difference
between Reno and New Reno is in the Fast retransmit algorithm, in order
to recover more quickly when multiple packet losses occur in a single
window. NewReno introduces the concept of Partial acknowledgments. Since
the intention is to merge fast retransmit and fast recovery into
TcpSocketBase, there isn't the possibility to maintain TcpReno as
separate class. However, its behavior could be introduced again with one
conditional attribute in TcpSocketBase itself.
2015-10-16 10:38:39 -07:00
Siddharth Santurkar
b5fde4107c port wscripts, test.py, and waf-tools to Python3 2015-09-03 21:14:55 -07:00
Tommaso Pecorella
d8c14885b2 Bug 2124 - UdpSocketImpl::ShutdownRecv doesn't stop the Ipv[4,6]EndPointDemux 2015-07-02 18:21:44 +02:00
Peter D. Barnes, Jr.
60e7012077 bug 2002: Hardcoded include paths cause breakage 2015-01-29 19:00:01 -08:00
Tommaso Pecorella
287bda5b7e Move some tests from src/test to appropriate places 2014-09-06 07:09:08 +02:00
Anh Nguyen
4c20e1b099 test suite for CoDel queue 2014-09-04 12:27:00 -07:00
Tom Henderson
16e4f9b004 move CoDel queue model to internet module 2014-09-04 12:18:19 -07:00
Natale Patriciello
07364f0e31 Support for basic TCP options, window scale, and timestamps, based on original code proposal by Adrian S.-W. Tam 2014-09-05 16:57:11 -07:00
Tom Henderson
47d531fb41 support disabling of NSC by command-line argument 2014-09-05 15:25:10 -07:00
Tommaso Pecorella
f3a3fb85b1 RIPng implementation 2014-03-17 20:01:49 +01:00
Tommaso Pecorella
de5acedb80 Removed useless class from Internet tests 2013-11-30 12:38:22 +01:00
Tommaso Pecorella
17e7d24deb Bug 1721 - Path MTU isn't handled properly 2013-08-12 06:51:18 +02:00
Tommaso Pecorella
ce46777402 Add IPv6 packet support to data collection 2013-08-11 12:34:17 +02:00
Tom Henderson
2a08426b17 data collection extensions for stats module 2013-08-08 06:40:41 -07:00
Tommaso Pecorella
a05600515e Bug 1712 - The IP (v4 and v6) forwarding needs a test 2013-06-30 14:10:49 +02:00
Mitch Watrous
6b5386116e Look for click in bake's build directory first (Bug 1632 partial fix) 2013-04-26 10:09:32 -07:00
Mitch Watrous
f81f265cbd Look for nsc in bake's build directory first (Bug 1632 partial fix) 2013-04-24 15:54:13 -07:00
Brian Swenson
0dc496c3bf RTT Estimator Test Code 2013-04-19 14:52:17 -04:00
Anh Nguyen
2000b34287 Westwood and Westwood+ 2013-04-18 15:57:07 -04:00
Vedran Miletić
bbdb4231b3 Upgrade waf to 1.7.10 and fix included wscripts
This is a massive upgrade removing almost all pre-waf 1.6 script code. In addition, this does away with custom pkgconfig.py script for making .pc files and replaces it with waf's builtin mechanism.

Massive thanks to Alex Afanasyev for ideas and bugfixing, to Alina Quereilhac for bugfixing and testing, and to Tom Henderson for thorough testing.
2013-04-01 22:33:46 +02:00
Hajime Tazaki
3aa5c40945 Bug 1582 - IPv6 raw socket return value is not like Linux socket
fix broken return value of IPv6 Raw socket (size, from address)
2013-02-12 12:44:25 +09:00
Mitch Watrous
3b2bd56afb Replace src/internet usage of RandomVariable with RandomVariableStream 2012-08-14 10:35:43 -07:00
Tom Henderson
ca9773e13d bump required nsc version 2012-05-27 15:34:02 -07:00
Tom Henderson
1b584e2e27 bug 1432: Align Ipv6AddressHelper API with Ipv4AddressHelper API 2012-05-20 15:19:52 -07:00
Gustavo J. A. M. Carneiro
6e252ada40 Bug 1362 - ICMPv6 does not forward ICMPs to upper layers 2012-03-21 18:51:55 +01:00
Ken Renard
cf2e9f8212 Add support for IPv6 transport protocols 2012-02-20 14:05:07 +01:00
Atishay Jain
270fb3958a IPv6 address generator 2011-11-26 20:33:45 -08:00
John Abraham
45d186dda2 Bug 1186 - Ipv4Header lacks DSCP and ECN 2011-10-21 08:52:15 -04:00
Gustavo J. A. M. Carneiro
bd3ab5db69 Bug 1263 - waf configure fails on FreeBSD 9.0-BETA2 amd64 2011-09-23 11:42:49 +01:00
Gustavo J. A. M. Carneiro
05b726cc71 Fix modules wscript usage of 'use' parameter 2011-09-22 13:03:25 +01:00
Gustavo J. A. M. Carneiro
fbf0db7647 Correct some configuration Checking for... messages 2011-09-20 14:25:45 +01:00
Gustavo J. A. M. Carneiro
0536f2416f More waf 1.6.7 build fixes 2011-09-12 14:54:27 +01:00
Gustavo J. A. M. Carneiro
c3059b6e68 Upgrade to waf-1.6.7, work in progress 2011-09-08 16:13:40 +01:00
Tommaso Pecorella
6e08749a57 Support to IPv4 fragmentation 2011-07-08 21:09:22 +02:00
Josh Pelkey
65bfec39f2 check additional directory for nsc library 2011-04-27 10:16:08 -04:00
Mitch Watrous
6c0d5166e8 Make examples that were in samples directory run 2011-04-15 13:03:02 -07:00
Mitch Watrous
aa8f3e8ddb Move tests from internet module to its test library 2011-04-06 16:51:14 -07:00
Mitch Watrous
1c9164b534 Fix NSC load library path 2011-03-30 15:02:38 -07:00
Mathieu Lacage
e07313b335 Try to check for nsc if it was installed 2011-03-30 14:12:46 +02:00
Mitch Watrous
98d7265e24 Move tests from the internet module to its test library 2011-03-28 15:09:39 -07:00
Mitch Watrous
9297d29cb1 Create test module libraries for some modules 2011-03-24 15:05:20 -07:00
Mitch Watrous
28384516a2 Create separate module and test-module libraries 2011-03-18 10:58:21 -07:00
Gustavo J. A. M. Carneiro
089fbdcb5c Modular Python bindings work (many bug fixes, more modules tested) 2011-03-12 18:34:30 +00:00
Lalith Suresh
cf64de816a Fixes Click build which was affected by recent modular refactoring work 2011-02-27 11:31:43 +00:00