OLD | NEW |
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2 // | 2 // |
3 // Copyright (c) 2009 INESC Porto | 3 // Copyright (c) 2009 INESC Porto |
4 // | 4 // |
5 // This program is free software; you can redistribute it and/or modify | 5 // This program is free software; you can redistribute it and/or modify |
6 // it under the terms of the GNU General Public License version 2 as | 6 // it under the terms of the GNU General Public License version 2 as |
7 // published by the Free Software Foundation; | 7 // published by the Free Software Foundation; |
8 // | 8 // |
9 // This program is distributed in the hope that it will be useful, | 9 // This program is distributed in the hope that it will be useful, |
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 DROP_BAD_CHECKSUM, | 56 DROP_BAD_CHECKSUM, |
57 | 57 |
58 /// Packet dropped due to queue overflow. Note: only works for | 58 /// Packet dropped due to queue overflow. Note: only works for |
59 /// NetDevices that provide a TxQueue attribute of type Queue | 59 /// NetDevices that provide a TxQueue attribute of type Queue |
60 /// with a Drop trace source. It currently works with Csma and | 60 /// with a Drop trace source. It currently works with Csma and |
61 /// PointToPoint devices, but not with WiFi or WiMax. | 61 /// PointToPoint devices, but not with WiFi or WiMax. |
62 DROP_QUEUE, | 62 DROP_QUEUE, |
63 | 63 |
64 DROP_INTERFACE_DOWN, /**< Interface is down so can not send packet */ | 64 DROP_INTERFACE_DOWN, /**< Interface is down so can not send packet */ |
65 DROP_ROUTE_ERROR, /**< Route error */ | 65 DROP_ROUTE_ERROR, /**< Route error */ |
| 66 DROP_FRAGMENT_TIMEOUT, /**< Fragment timeout exceeded */ |
66 | 67 |
67 DROP_INVALID_REASON, | 68 DROP_INVALID_REASON, |
68 }; | 69 }; |
69 | 70 |
70 private: | 71 private: |
71 | 72 |
72 void SendOutgoingLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPaylo
ad, uint32_t interface); | 73 void SendOutgoingLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPaylo
ad, uint32_t interface); |
73 void ForwardLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPayload, u
int32_t interface); | 74 void ForwardLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPayload, u
int32_t interface); |
74 void ForwardUpLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPayload,
uint32_t interface); | 75 void ForwardUpLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPayload,
uint32_t interface); |
75 void DropLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPayload, | 76 void DropLogger (const Ipv4Header &ipHeader, Ptr<const Packet> ipPayload, |
76 Ipv4L3Protocol::DropReason reason, Ptr<Ipv4> ipv4, uint32_t i
fIndex); | 77 Ipv4L3Protocol::DropReason reason, Ptr<Ipv4> ipv4, uint32_t i
fIndex); |
77 void QueueDropLogger (Ptr<const Packet> ipPayload); | 78 void QueueDropLogger (Ptr<const Packet> ipPayload); |
78 | 79 |
79 Ptr<Ipv4FlowClassifier> m_classifier; | 80 Ptr<Ipv4FlowClassifier> m_classifier; |
80 }; | 81 }; |
81 | 82 |
82 | 83 |
83 } // namespace ns3 | 84 } // namespace ns3 |
84 | 85 |
85 #endif | 86 #endif |
86 | 87 |
OLD | NEW |