Task #551
Validate the port of PMIPv6 extensions from ns-2.99 to ns-2.33
| Status: | Closed | Start date: | 03/10/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | 03/12/2010 | |
| Assignee: | Nick Amelichev | % Done: | 100% |
|
| Category: | development | Spent time: | 11.50 hours | |
| Target version: | - | Estimated time: | 15.00 hours |
Description
PMIPv6 implementation used in my model (task #536) was originally for ns-2.29 with NIST Mobility package.
ns-2.29 and ns-2.33 have REALLY different 802.11 MAC models, so the port has been non-trivial.
- The goal is to validate my patch for ns-2.33 on non-hierarchical wireless model from the original patch for ns-2.29.
The trace produced should be the same, maybe except for time lags (?) - I also would run generic ns-2.33 validation suite tests to make sure I haven't altered something critical while patching.
If my patch is indeed not valid, this would uncover areas I have ported poorly from patch to earlier version of ns-2.29. It might explain strange behavior (packet sent to self) of my model.
History
Updated by Nick Amelichev almost 2 years ago
- % Done changed from 0 to 10
Updated by Nick Amelichev almost 2 years ago
gcc-4.3 is stricter than previous version. Result: 6 re-compilations so far.
Updated by Nick Amelichev almost 2 years ago
- File test.tcl added
- Checked PMIPv6 impl in ns-2.33 vs ns-2.29. Found no disrepancies in traces produced by the two simulators for flat (non-hierarchical: no base stations) wired model.
nvamelichev@ns2-testbed:~/ws/ns-allinone-2.29$ ./bin/ns test.tcl nvamelichev@ns2-testbed:~/ws/ns-allinone-2.29$ mv trace.out ns-2.29.out nvamelichev@ns2-testbed:~/ws/ns-allinone-2.29$ ../ns-allinone-2.33/bin/ns test.tcl nvamelichev@ns2-testbed:~/ws/ns-allinone-2.29$ mv trace.out ns-2.33.out nvamelichev@ns2-testbed:~/ws/ns-allinone-2.29$ diff ns-2.33.out ns-2.29.out
Test file (test.tcl) used attached. The test file borrowed from the PMIPv6 extension for ns-2.29 page (here: http://commani.net/pmip6ns/download.html, file pmip_nohier.tcl), though I disabled real-time scheduler (or every simulation would produce slightly different results).
- Used my model itself as a test of PMIPv6 for the wireless. The output is different for ns-2.29 and ns-2.33. Will start investigation why, probably tomorrow.
- Started ns-2.33 validation tests, they should end before 6.00 am.
Updated by Nick Amelichev almost 2 years ago
- % Done changed from 10 to 50
Updated by Nick Amelichev almost 2 years ago
- % Done changed from 50 to 60
ToDo:
- PMIPv6 impl find bugs
- investigate whether validation test failures are significant
Updated by Nick Amelichev almost 2 years ago
- % Done changed from 60 to 100
- Corrected PMIPv6 impl so it now validates against wireless test suite (see new patch version in the svn). I just commented out suspicious line, assigning bss_id to third address of every 802.11 MAC header. That made ns-2.29 and ns-2.33 output identical protocol debug info to console. Though the traces produced are different.
- I turned off MAC tracing, leaving only AGT tracing (Agent protocols). This revealed that PMIPv6 packets sent don't differ, only TCP packets do.
- Also found out that the wireless traces are different between ns-2.29+NIST Mobility and ns-2.33 for even the simplest simulations, such as the one presented in Mark Greis' tutorial (available locally at ns-allinone-2.33/ns-2.33/tcl/ex/simple-wireless.tcl).
Conclusion: one bug in impl found and corrected. Bad news: perhaps there're more bugs. Good news: ns-2.29 and ns-2.33 produce different wireless traces, but the difference is not because of PMIPv6 impl.
Updated by Kirill Krinkin over 1 year ago
Please review status of this tasks and close them or comment.
Updated by Nick Amelichev over 1 year ago
- Status changed from New to Assigned
Updated by Nick Amelichev over 1 year ago
- Status changed from Assigned to Active
Updated by Nick Amelichev over 1 year ago
- Status changed from Active to Closed