Task #551

Validate the port of PMIPv6 extensions from ns-2.99 to ns-2.33

Added by Nick Amelichev almost 2 years ago. Updated over 1 year ago.

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.

test.tcl (2.9 kB) Nick Amelichev, 03/11/2010 01:33 am

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

  • 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
Validation ended. Failed 2 tests on mobility.
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

Also available in: Atom PDF