21 #include "ns3/simulator.h"
22 #include "ns3/pfifo-fast-queue-disc.h"
23 #include "ns3/drop-tail-queue.h"
24 #include "ns3/ipv4-queue-disc-item.h"
25 #include "ns3/ipv6-queue-disc-item.h"
27 #include "ns3/string.h"
28 #include "ns3/pointer.h"
29 #include "ns3/object-factory.h"
30 #include "ns3/socket.h"
44 virtual void DoRun (
void);
49 :
TestCase (
"Test TOS-based prioritization")
66 priorityTag.
SetPriority (Socket::IpTos2Priority (tos));
80 for (uint16_t i = 0; i < 3; i++)
83 bool ok = queue->SetAttributeFailSafe (
"MaxSize",
StringValue (
"1000p"));
108 Simulator::Destroy ();
121 virtual void DoRun (
void);
126 :
TestCase (
"Test DSCP-based prioritization")
157 for (uint16_t i = 0; i < 3; i++)
160 bool ok = queue->SetAttributeFailSafe (
"MaxSize",
StringValue (
"1000p"));
190 Simulator::Destroy ();
203 virtual void DoRun (
void);
244 AddPacket (queueDisc, Ipv4Header::DSCP_AF42);
245 AddPacket (queueDisc, Ipv4Header::DSCP_AF42);
246 AddPacket (queueDisc, Ipv4Header::DSCP_AF13);
247 AddPacket (queueDisc, Ipv4Header::DSCP_AF13);
248 AddPacket (queueDisc, Ipv4Header::DSCP_AF11);
249 AddPacket (queueDisc, Ipv4Header::DSCP_AF11);
255 AddPacket (queueDisc, Ipv4Header::DSCP_AF42);
256 AddPacket (queueDisc, Ipv4Header::DSCP_AF13);
257 AddPacket (queueDisc, Ipv4Header::DSCP_AF11);
263 Simulator::Destroy ();
277 virtual void DoRun (
void);
281 :
TestCase (
"Test queue with no priority tag")
294 for (uint16_t i = 0; i < 3; i++)
297 bool ok = queue->SetAttributeFailSafe (
"MaxSize",
StringValue (
"1000p"));
303 p = Create<Packet> ();
307 item = Create<Ipv6QueueDiscItem> (p, dest, 0, ipv6Header);
310 p = Create<Packet> (
reinterpret_cast<const uint8_t*
> (
"hello, world"), 12);
311 item = Create<Ipv6QueueDiscItem> (p, dest, 0, ipv6Header);
314 p = Create<Packet> (100);
315 uint8_t *buf =
new uint8_t[100];
317 for (uint32_t i = 0; i < 100; i++)
322 item = Create<Ipv6QueueDiscItem> (p, dest, 0, ipv6Header);
326 Simulator::Destroy ();
336 :
TestSuite (
"pfifo-fast-queue-disc", UNIT)