Commit Graph

349 Commits

Author SHA1 Message Date
Tommaso Pecorella
787430613e network: (workaround for #2505) Printing a packet can raise an assert 2016-09-28 02:13:32 +02:00
Tom Henderson
b9e5595665 bindings: Rescan all bindings 2016-09-26 05:33:13 -07:00
Pasquale Imputato
7ab6c710c0 network: Set a proper default value for BQL HoldTime attribute 2016-09-24 15:36:10 +02:00
Tom Henderson
f46c7cb9ce fix typo 2016-09-16 20:57:12 -07:00
Peter D. Barnes, Jr.
18e8001aaa [core] Fix compilation errors from new NS_DEPRECATED function macro in r 12293 [57597d3fb31e]
Remove function macro and return to simple tag.  GCC can have the
attribute in front of the function declaration, matching Windows.
2016-09-03 18:13:21 -04:00
Peter D. Barnes, Jr.
ab4ddafe28 [network] Clarify logging macros 2016-09-02 22:08:32 -04:00
Peter D. Barnes, Jr.
71902a017a Use new NS_DEPRECATED function macro 2016-09-02 22:06:27 -04:00
Alexander Krotov
4b466d7cd0 Do not return destroyed Buffer iterator from ItemIterator::Next 2015-08-31 17:10:52 +03:00
Tom Henderson
33e9f590d5 network: (fixes #2069) Avoid integer overflow in ByteTagList
Fix is due to xnuvtv@imgof.com
2016-09-01 18:07:05 -07:00
Stefano Avallone
638d7c0c14 documentation: Yet another (minor) update on wifi AC selection 2016-08-22 14:50:51 +02:00
Tom Henderson
3989c359ce bindings: rescan all module bindings 2016-08-20 22:00:50 -07:00
Tom Henderson
3622356bab Doxygen: fix various glithces 2016-08-20 13:57:42 +02:00
Stefano Avallone
bf942c4204 documentation: Add more information on setting ToS and priority 2016-08-12 23:57:20 +02:00
Pasquale Imputato
a048b009b2 network: Introduce Byte Queue Limits (BQL) 2016-08-08 00:21:03 +02:00
Tom Henderson
f23dc6a347 bindings: rescan all module bindings 2016-07-22 17:45:51 -07:00
Stefano Avallone
dd432b8131 network: Get rid of the NetDeviceQueue::HasWakeCallbackSet method 2016-07-22 18:21:39 +02:00
Tom Henderson
7f88b04c33 bindings: rescan all module bindings 2016-07-20 16:33:57 -07:00
Tommaso Pecorella
971ace1bfd Rescan Python bindings 2016-07-16 23:29:23 +02:00
Tommaso Pecorella
686a9a7852 Minor doxygen fixes 2016-07-14 22:19:36 +02:00
Stefano Avallone
5459ab04b7 various: Rename NetDeviceQueueInterface::GetTxQueuesN to match ns-3 style 2016-07-14 15:59:56 +02:00
Stefano Avallone
8ae37fc7ff network: Packet sockets add a priority tag if a priority is set 2016-07-14 15:59:56 +02:00
Stefano Avallone
1ec310b39e traffic-control: PfifoFastQueueDisc uses priority to map packets to bands 2016-07-14 15:59:56 +02:00
Stefano Avallone
47128c4269 traffic-control: the select queue callback is stored by the TC layer 2016-07-14 15:59:55 +02:00
Stefano Avallone
d693db5c11 network: Add a GetUint8Value method to the QueueItem class 2016-07-14 15:59:55 +02:00
Stefano Avallone
a000561495 network: Socket::IsManualIpTos can be replaced by Socket::GetIpTos 2016-07-14 15:59:55 +02:00
Stefano Avallone
83ed5e7bb6 network: Support socket priorities 2016-07-14 15:59:55 +02:00
Stefano Avallone
c8300ef811 internet: Add a tos field to InetSockAddress 2016-07-14 15:59:55 +02:00
Tommaso Pecorella
5528b342cb internet and other modules: doxygen and manual improvements 2016-07-14 10:56:33 +02:00
Tom Henderson
b1c3fd67bc rescan all bindings 2016-07-12 08:17:20 -07:00
Tommaso Pecorella
97f68a678d network: (fixes #2444) PcapHelper DataLinkType enum should have a name 2016-07-12 01:19:11 +02:00
Tom Henderson
178c70829f bindings: rescan all module bindings 2016-06-02 09:24:07 -07:00
Tommaso Pecorella
afa5de4a78 internet: (fixes #231) Remove SocketAddressTag
SocketAddressTag was a long-standing API glitch. It was used to replicate the RecvFrom effect (i.e., to know the source address of packet) without calling RecvFrom.
This option is more harmful than useful, because in case of tunnels the new tag needs to replace the old one. Moreover, there is no real need to create a new API when there is a perfectly working one (i.e., RecvFrom).
2016-06-02 01:16:39 +02:00
Tommaso Pecorella
fabd470c29 network: Rescan bindings 2016-05-19 00:57:32 +02:00
Stefano Avallone
8754a59cb6 network: Add a Remove method to the Queue base class 2016-05-19 00:14:29 +02:00
Stefano Avallone
f3c4596867 traffic-control: (fixes #2284) Never requeue a packet sent to a netdevice
This change allows us to more closely follow the Linux behavior. A packet
is only requeued when the device queue is stopped before we attempt to send
the packet to the device. Thus, a packet sent to a netdevice is never requeued.
It turns out that packets can only be requeued if the underlying device is
tc-aware and multi-queue. The PointToPointNetDevice code is updated accordingly.
2016-05-19 00:14:07 +02:00
Tom Henderson
e8678631f5 network: Rescan bindings 2016-05-11 07:47:06 -07:00
Stefano Avallone
500ef9f4a6 traffic-control: (fixes #2389) Internal queues need to notify their queue disc of packet drops 2016-05-11 12:10:02 +02:00
Tommaso Pecorella
5d288cb14c network: doxygen fixes 2016-04-07 01:50:23 +02:00
Stefano Avallone
5aef189abb network: Update queue documentation 2016-03-15 10:21:49 -07:00
Tom Henderson
822ddcb157 bindings: rescan bindings 2016-03-08 22:01:30 -08:00
Pasquale Imputato
c6e5ecc191 network: The Queue base class holds mode, maxPackets and maxBytes
...so that all the subclasses have such attributes. This
allows queue discs to have attributes specifying the mode and
size of their queue(s) and to create queues using their
own attributes.

This commit is heavily inspired by Natale's queue rework patch:
https://codereview.appspot.com/270540044/
2016-03-08 10:45:36 -08:00
Pasquale Imputato
e02e86faa7 network: Move RED model, test and examples to the traffic-control module
This move prepares RED to become a queue disc. Building of RED
model, tests and examples is disabled until the conversion is done.
2016-03-08 10:45:27 -08:00
Stefano Avallone
defeaea224 network: Add the NetDeviceQueue and NetDeviceQueueInterface classes
This patch adds a NetDeviceQueue class to store information about a single
transmission queue of a network device. This class is meant to store the
state of a transmission queue (i.e., whether the queue is stopped or not)
and some data used by techniques such as Byte Queue Limits. Also, multi-queue
aware queue discs can aggregate a child queue disc to an object of this class.
These features (excluding BQL) are added in subsequent commits.
The NetDevice class maintains a vector of NetDeviceQueue pointers, one for
each transmission queue. A NetDevice constructor is added which creates a
single transmission queue by default for every device. The number of transmission
queues can be modified (by child classes) by calling NetDevice::SetTxQueuesN.
Two public methods, GetTxQueue and GetTxQueuesN, are also added to the NetDevice class
to return the i-th NetDeviceQueue and the number of transmission queues, respectively.
2016-03-08 10:44:08 -08:00
Stefano Avallone
df2fa95970 network: Make Queue store QueueItem objects
A QueueItem base class is introduced to represent the items stored
in a Queue. The base class only contains a Ptr<Packet>. Derived classes
can store additional information. DropTailQueue, RedQueue and CodelQueue,
along with their examples and testsuits, have been adapted. Objects using
such queues have been adapted too.
2016-03-08 10:44:03 -08:00
Tom Henderson
e7e64c971e rescan bindings 2016-02-26 08:20:55 -08:00
Chip Webb
336585b141 network: (fixes #2283) support nanosecond pcap resolution 2016-02-25 17:38:58 -08:00
Tom Henderson
167662ad6c rescan bindings 2016-02-25 14:22:34 -08:00
Tom Goff
46fa78e7fa internet: (fixes #1835) Implement Socket::GetPeerName() 2016-02-24 13:14:51 -08:00
Lynne Salameh
b830a39aa6 network: (fixes #2293) RED queue estimator optimization 2016-02-11 21:39:49 +01:00
Tommaso Pecorella
dfe7129d43 network: Add IsLocalhost and IsAny to Ipv4Address 2016-02-07 22:24:16 +01:00