Commit Graph

11 Commits

Author SHA1 Message Date
Stefano Avallone
59cd4d5f55 traffic-control: (fixes #2751) Ensure queue discs keep correct statistics 2017-09-14 18:12:19 +02:00
Stefano Avallone
dfe1ed1619 traffic-control: Fix doxygen warnings 2017-03-09 17:17:35 +01:00
Stefano Avallone
b20e29694b various: Fix scanning python bindings 2017-03-08 18:02:13 +01:00
Stefano Avallone
6fef34be47 network: Convert Queue into a template class 2017-03-08 18:01:29 +01:00
Stefano Avallone
f88f7dc007 traffic-control: Fix declaration of a few methods of the QueueDisc class 2017-01-29 15:27:05 +01:00
Shravya Ks
7681d190c2 traffic-control: Add support for marking packets for ECN 2016-12-13 19:56:21 +01: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
93bf31ac56 traffic-control: (fixes #2384) Child queue discs need to notify their parent queue disc of packet drops 2016-05-11 12:09:47 +02:00
Tommaso Pecorella
889ab088a3 traffic-control: Remove unused variable 2016-03-09 09:26:35 -08:00
Stefano Avallone
69e882e74b internet: Defer the addition of the IP header until the packet is extracted from the queue disc
When a packet is passed to the Traffic Control layer, the IPv{4,6} header has not
been added yet. It will be added when the packet is dequeued from the queue disc.
2016-03-08 10:45:02 -08:00
Stefano Avallone
bedc89eea9 traffic-control: Add the QueueDisc base class
QueueDisc is a base class providing the interface and implementing
the operations common to all the queueing disciplines. Child classes
need to implement the methods used to enqueue a packet (DoEnqueue),
dequeue a single packet (DoDequeue), get a copy of the next packet
to extract (DoPeek), plus methods to classify enqueued packets in
case they manage multiple queues internally.
2016-03-08 10:44:13 -08:00