Commit Graph

19 Commits

Author SHA1 Message Date
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
6bb6383562 Fix clang-tidy modernize-redundant-void-arg warnings 2022-10-07 11:48:10 +00:00
Stefano Avallone
6fef34be47 network: Convert Queue into a template class 2017-03-08 18:01:29 +01:00
Pasquale Imputato
a048b009b2 network: Introduce Byte Queue Limits (BQL) 2016-08-08 00:21:03 +02:00
Stefano Avallone
dd432b8131 network: Get rid of the NetDeviceQueue::HasWakeCallbackSet method 2016-07-22 18:21:39 +02:00
Stefano Avallone
5459ab04b7 various: Rename NetDeviceQueueInterface::GetTxQueuesN to match ns-3 style 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
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
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
Mohit Goyal
811962d3e0 SetGroupName for network module 2015-03-27 07:03:58 -07:00
Peter D. Barnes, Jr.
bfdb6ef10a [Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace? 2014-09-26 15:51:00 -07:00
Peter D. Barnes, Jr.
cd3da7143d [doxygen] Revert r10410, r10411, r10412 2014-03-05 17:06:59 -08:00
Peter D. Barnes, Jr.
d75ff3559e doxygen] Suppress "warning: Member NS_OBJECT_ENSURE_REGISTERED is not documented" 2013-11-14 16:58:28 -08:00
Maja Grubišić
6c6e275ec2 Clean up function logging of network module. 2012-11-16 22:27:18 +01:00
Josh Pelkey
30fd9b6bee network coding style changes 2011-05-13 14:57:43 -04:00
Tom Henderson
ca7b93cc3d Merge node and common modules into new network module 2011-02-21 09:11:37 -08:00