Commit Graph

123 Commits

Author SHA1 Message Date
Stefano Avallone
dd432b8131 network: Get rid of the NetDeviceQueue::HasWakeCallbackSet method 2016-07-22 18:21:39 +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
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
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
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
Tommaso Pecorella
5d288cb14c network: doxygen fixes 2016-04-07 01:50:23 +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
Tom Goff
46fa78e7fa internet: (fixes #1835) Implement Socket::GetPeerName() 2016-02-24 13:14:51 -08:00
Tommaso Pecorella
b68cfde5b4 network: (fixes #2266) NixRouting info are not copied during a packet fragmentation. 2016-02-03 21:37:41 +01:00
Tom Henderson
aa1307e844 [Doxygen] - Fix header class bad copy-paste 2016-01-31 20:02:40 +01:00
Tommaso Pecorella
4caca50be2 Bug 2234 - Ipv6L3Protocol should trash multicast packets not interesting for the node 2015-12-03 00:35:35 +01:00
Tommaso Pecorella
7907f2154e Clarify PacketTagList::Add assert message 2015-11-05 12:42:24 +01:00
Matthieu Coudron
8171d94e7c Add Node::GetLocalTime() placeholder, alias to Simulator::Now() 2015-09-22 23:52:56 +02:00
Sébastien Deronne
d8b035323a Fix broken test 2015-09-04 22:18:04 +02:00
Alexander Krotov
20f5c5e062 bug 2173: WifiInformationElement::DeserializeIfPresent attempts to read beyond the end of buffer 2015-09-04 01:10:29 +02:00
Peter D. Barnes, Jr.
61f2fbd415 [doxygen] Revise TracedCallback function signatures for const. 2015-08-18 16:46:10 -07:00
Alexander Krotov
292979e742 Removed GetCurrentStartOffset and GetCurrentEndOffset 2015-07-26 19:44:31 +03:00
Alexander Krotov
7fb26bfe59 Make ByteTagList offsets relative to packet start 2015-07-26 19:44:32 +03:00
Alexander Krotov
19488ad7aa Factor ByteTagList::Adjust out of ByteTagList::AddAt{Start,End} 2015-08-08 23:33:55 +03:00
Alexander Krotov
0afb4dcc80 Optimize ByteTagList adjustment 2015-08-08 23:13:40 +03:00
Alexander Krotov
35f4c249d4 Optimize ByteTagList by tracking byte tags boundaries
This patch restores performance to the level nearly equal to that before
recent bugfixing, as was checked by running utils/bench-packets.
2015-07-26 19:44:33 +03:00
Alexander Krotov
e5697f0c2c Remove ByteTagList::IsDirty{Start,End}
These functions are only used once and do not save time.  Both functions
iterate over the whole list just to prevent iterating over the whole list
if they return false. As traversing the list is required in any case,
these functions can be removed.
2015-07-26 19:44:06 +03:00
Alexander Krotov
b62cf68711 Make Buffer::CreateFullCopy private 2015-08-02 19:26:37 +03:00
Alexander Krotov
6250c61bcf Optimize Buffer::Iterator::CheckNoZero 2015-07-26 19:44:29 +03:00
Mathieu Lacage
fd74ac7616 remove un-needed return value 2015-08-05 15:20:10 -04:00
Mathieu Lacage
3ae948f663 ByteTagList::AddAtEnd/AddAtStart must be called unconditionally to ensure that newly-added bytes are not tagged when 1. Packet::AddByteTag, 2. Packet::RemoveHeader, 3. Packet.AddHEader 2015-08-05 15:11:19 -04:00
Tom Henderson
8df0d04bbb add missing copyrights 2015-06-10 07:52:23 -07:00
Peter D. Barnes, Jr.
a2e0ed145a Missing mode lines. 2015-06-08 16:37:40 -07:00
Mohit Goyal
811962d3e0 SetGroupName for network module 2015-03-27 07:03:58 -07:00
Tom Henderson
ffa4909b25 bug 2044: Buffer::Iterator::ReadNtohU16() and ReadNtohU32() not implemented correctly 2015-01-30 16:27:50 -08:00
Tom Henderson
2be7d2e686 Doxygen corrections for class Buffer 2015-01-30 16:06:55 -08:00
Peter D. Barnes, Jr.
40eb448c95 [Doxygen] Remove extraneous docs for derivatives of AttributeValue. 2015-01-16 12:12:46 -08:00
Peter D. Barnes, Jr.
692bf472e6 TracedCallback function signatures, the rest. 2014-12-04 10:02:01 -08:00
Peter D. Barnes, Jr.
4cb9c7b916 TracedCallback function signatures, the simple ones.
These are TracedCallback function signatures for traces sources
using a single argument.
2014-10-03 02:24:42 -07:00
Natale Patriciello
37ed3b545b ToString method to Packet 2014-11-14 15:27:37 -08:00
Peter D. Barnes, Jr.
ee641c723b [Doxygen] Remove inappropriate uses of @internal 2014-11-03 12:33:13 -08:00
Peter D. Barnes, Jr.
cccfc167dd [Doxygen] Attribute implementations. 2014-10-21 16:14:35 -07:00
Tom Henderson
37bab66bfe remove deprecated Packet::PeekData() 2014-10-14 09:36:10 -07:00
Peter D. Barnes, Jr.
c10b5622a0 [Doxygen] Minor fix-ups 2014-10-08 11:59:31 -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.
3611bd11a5 [Bug 1551] NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace? 2014-09-26 12:44:13 -07:00
Tom Henderson
4394d1d4ba clarify Header::Deserialize documentation 2014-09-12 17:49:06 -07:00
Tommaso Pecorella
077579b060 Bug 1824 - L4 protocol sockets should support BindToNetDevice over IPv6 2014-09-12 20:47:17 +02:00
Tommaso Pecorella
8225948ffd [Doxygen] NetDevice small fix 2014-08-25 09:34:17 +02:00
Tommaso Pecorella
fe90df6c23 Bug 1960 - Wrong information on index range, about Node::GetDevice 2014-08-03 15:09:19 +02:00