|
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 |
|