|
|
| 53 |
Ipv4Header ipHeader; |
53 |
Ipv4Header ipHeader; |
| 54 |
TcpHeader tcpHeader; |
54 |
TcpHeader tcpHeader; |
| 55 |
|
55 |
|
| 56 |
p->RemoveHeader (ipHeader); |
56 |
Ptr<Packet> pkt = p->Copy (); |
| 57 |
p->RemoveHeader (tcpHeader); |
|
|
| 58 |
|
57 |
|
| 59 |
bool toDrop = ShouldDrop (ipHeader, tcpHeader, p->GetSize ()); |
58 |
pkt->RemoveHeader (ipHeader); |
|
|
59 |
pkt->RemoveHeader (tcpHeader); |
| 60 |
|
| 61 |
bool toDrop = ShouldDrop (ipHeader, tcpHeader, pkt->GetSize ()); |
| 60 |
|
62 |
|
| 61 |
if (toDrop && ! m_dropCallback.IsNull ()) |
63 |
if (toDrop && ! m_dropCallback.IsNull ()) |
| 62 |
{ |
64 |
{ |
| 63 |
m_dropCallback (ipHeader, tcpHeader, p); |
65 |
NS_LOG_DEBUG ("Dropping"); |
|
|
66 |
m_dropCallback (ipHeader, tcpHeader, pkt); |
| 64 |
} |
67 |
} |
| 65 |
|
68 |
|
| 66 |
p->AddHeader (tcpHeader); |
|
|
| 67 |
p->AddHeader (ipHeader); |
| 68 |
|
| 69 |
return toDrop; |
69 |
return toDrop; |
| 70 |
} |
70 |
} |
| 71 |
|
71 |
|