|
Bugzilla – Full Text Bug Listing |
| Summary: | IPv6 extensions dropped packets do not fire L3 drop trace | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Tommaso Pecorella <tommaso.pecorella> |
| Component: | ipv6 | Assignee: | Tommaso Pecorella <tommaso.pecorella> |
| Status: | RESOLVED FIXED | ||
| Severity: | enhancement | CC: | ns-bugs, tomh |
| Priority: | P5 | ||
| Version: | ns-3-dev | ||
| Hardware: | All | ||
| OS: | All | ||
| Bug Depends on: | |||
| Bug Blocks: | 1818 | ||
| Attachments: | Patch (option 1) | ||
Looks good. changeset 10669 46c9391bc38b |
Created attachment 1768 [details] Patch (option 1) Currently we have a glitch in IPv6 dropped packets handling. If the packet is dropped "normally", then the Ipv6L3Protocol::m_dropTrace is called. If the packet is dropped because an extension is "bad", then Ipv6Extension::m_dropTrace is called. Now the problem is twofold. 1) it is not obvious that both traces should be hooked, and 2) Ipv6Extension::m_dropTrace does not have the same parameters as the other one. In particular, the drop cause is missing, plus a lot of other things. In order to fix it, two things might be done: 1) kill Ipv6Extension::m_dropTrace and have Ipv6L3Protocol::m_dropTrace called instead. 2) leave Ipv6Extension::m_dropTrace but call Ipv6L3Protocol::m_dropTrace as well. 3) modify Ipv6Extension::m_dropTrace to have the same info as Ipv6L3Protocol::m_dropTrace. Cons: 1) might break existing simulations. 2) might produce funny results (i.e., drops counted twice) 3) is still not obvious. People might forget about drops in extensions. Of the three options I prefer the first. It's intrusive, but at least people will be forced to use the right things.