floating_groupd.patch
author Hajime Tazaki <tazaki@nict.go.jp>
Thu, 20 Jun 2013 09:56:26 +0900
changeset 26 0fca5307fd86
parent 11 ce3a1f87be3d
permissions -rw-r--r--
update a lot
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
     1
diff -r a1527ef7aacd .hgignore
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
     2
--- a/.hgignore	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
     3
+++ b/.hgignore	Thu Mar 29 13:55:22 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
     4
@@ -8,3 +8,4 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     5
 ^files-
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     6
 ^.waf-
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     7
 ^.lock-
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
     8
+pcap
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
     9
diff -r a1527ef7aacd 3967.weights.intra
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    10
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
    11
+++ b/3967.weights.intra	Thu Mar 29 13:55:22 2012 +0900
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    12
@@ -0,0 +1,294 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    13
+San+Jose,+CA471 Santa+Clara,+CA444 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    14
+San+Jose,+CA471 Santa+Clara,+CA389 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    15
+San+Jose,+CA471 San+Jose,+CA472 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    16
+San+Jose,+CA471 Oak+Brook,+IL301 14.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    17
+San+Jose,+CA472 San+Jose,+CA471 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    18
+San+Jose,+CA472 Santa+Clara,+CA430 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    19
+San+Jose,+CA472 Santa+Clara,+CA389 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    20
+San+Jose,+CA472 Santa+Clara,+CA431 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    21
+Weehawken,+NJ543 New+York,+NY293 8
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    22
+Weehawken,+NJ543 Atlanta,+GA127 18.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    23
+Weehawken,+NJ543 New+York,+NY294 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    24
+Weehawken,+NJ543 Weehawken,+NJ544 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    25
+Weehawken,+NJ543 Weehawken,+NJ552 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    26
+Weehawken,+NJ543 Oak+Brook,+IL300 12
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    27
+Weehawken,+NJ543 Jersey+City,+NJ244 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    28
+Oak+Brook,+IL307 Oak+Brook,+IL315 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    29
+Oak+Brook,+IL307 Oak+Brook,+IL300 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    30
+Oak+Brook,+IL307 Oak+Brook,+IL301 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    31
+Herndon,+VA193 Herndon,+VA496 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    32
+Herndon,+VA193 Atlanta,+GA126 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    33
+Herndon,+VA193 Atlanta,+GA127 7.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    34
+Weehawken,+NJ544 Jersey+City,+NJ245 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    35
+Weehawken,+NJ544 London274 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    36
+Weehawken,+NJ544 London275 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    37
+Weehawken,+NJ544 London276 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    38
+Weehawken,+NJ544 Weehawken,+NJ543 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    39
+Weehawken,+NJ544 Weehawken,+NJ552 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    40
+Weehawken,+NJ544 New+York,+NY293 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    41
+Weehawken,+NJ544 Herndon,+VA495 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    42
+Oak+Brook,+IL308 Oak+Brook,+IL315 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    43
+Oak+Brook,+IL308 Oak+Brook,+IL300 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    44
+Oak+Brook,+IL308 Oak+Brook,+IL301 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    45
+Toronto,+Canada537 Waltham,+MA555 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    46
+Oak+Brook,+IL309 Oak+Brook,+IL300 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    47
+Oak+Brook,+IL309 Oak+Brook,+IL301 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    48
+Toronto,+Canada538 Oak+Brook,+IL300 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    49
+Palo+Alto,+CA317 Santa+Clara,+CA388 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    50
+Palo+Alto,+CA317 Palo+Alto,+CA104 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    51
+Palo+Alto,+CA317 Santa+Clara,+CA336 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    52
+Palo+Alto,+CA317 Palo+Alto,+CA318 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    53
+Palo+Alto,+CA318 Santa+Clara,+CA363 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    54
+Palo+Alto,+CA318 Santa+Clara,+CA364 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    55
+Palo+Alto,+CA318 Palo+Alto,+CA317 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    56
+Amsterdam119 London274 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    57
+Amsterdam119 London275 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    58
+Amsterdam119 Frankfurt185 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    59
+Tukwila,+WA508 Tukwila,+WA509 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    60
+Tukwila,+WA508 Santa+Clara,+CA429 7
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    61
+Tukwila,+WA508 Chicago,+IL155 9
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    62
+Oak+Brook,+IL310 Oak+Brook,+IL300 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    63
+Oak+Brook,+IL310 Oak+Brook,+IL301 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    64
+Tukwila,+WA509 Chicago,+IL155 6
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    65
+Tukwila,+WA509 Tukwila,+WA508 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    66
+Santa+Clara,+CA388 Santa+Clara,+CA430 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    67
+Santa+Clara,+CA388 Santa+Clara,+CA389 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    68
+Santa+Clara,+CA388 Palo+Alto,+CA317 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    69
+Santa+Clara,+CA388 San+Jose,+CA460 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    70
+Palo+Alto,+CA104 Santa+Clara,+CA444 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    71
+Palo+Alto,+CA104 Santa+Clara,+CA365 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    72
+Palo+Alto,+CA104 Palo+Alto,+CA317 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    73
+Palo+Alto,+CA104 Santa+Clara,+CA403 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    74
+Santa+Clara,+CA389 San+Jose,+CA471 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    75
+Santa+Clara,+CA389 Santa+Clara,+CA388 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    76
+Santa+Clara,+CA389 San+Jose,+CA472 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    77
+Santa+Clara,+CA389 Santa+Clara,+CA443 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    78
+Santa+Clara,+CA389 Santa+Clara,+CA403 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    79
+Oak+Brook,+IL315 Oak+Brook,+IL307 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    80
+Oak+Brook,+IL315 Oak+Brook,+IL300 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    81
+Oak+Brook,+IL315 Oak+Brook,+IL308 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    82
+Oak+Brook,+IL315 Oak+Brook,+IL301 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    83
+Weehawken,+NJ552 Weehawken,+NJ543 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    84
+Weehawken,+NJ552 Weehawken,+NJ544 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    85
+Weehawken,+NJ552 Oak+Brook,+IL300 13
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    86
+Chicago,+IL155 Tukwila,+WA509 6
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    87
+Chicago,+IL155 Oak+Brook,+IL301 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    88
+Chicago,+IL155 Chicago,+IL156 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    89
+Chicago,+IL155 Tukwila,+WA508 9
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    90
+Chicago,+IL156 Oak+Brook,+IL300 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    91
+Chicago,+IL156 Fort+Worth,+TX189 7
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    92
+Chicago,+IL156 Chicago,+IL155 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    93
+Fort+Worth,+TX189 Irvine,+CA228 17
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    94
+Fort+Worth,+TX189 Austin,+TX137 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    95
+Fort+Worth,+TX189 Fort+Worth,+TX190 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    96
+Fort+Worth,+TX189 Chicago,+IL156 7
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    97
+Fort+Worth,+TX189 Santa+Clara,+CA403 16
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    98
+Fort+Worth,+TX189 Fort+Worth,+TX191 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
    99
+Herndon,+VA495 Herndon,+VA496 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   100
+Herndon,+VA495 Herndon,+VA208 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   101
+Herndon,+VA495 Weehawken,+NJ544 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   102
+Jersey+City,+NJ244 Jersey+City,+NJ261 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   103
+Jersey+City,+NJ244 Frankfurt184 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   104
+Jersey+City,+NJ244 Jersey+City,+NJ245 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   105
+Jersey+City,+NJ244 Weehawken,+NJ543 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   106
+Jersey+City,+NJ244 Waltham,+MA568 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   107
+Jersey+City,+NJ244 London277 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   108
+Jersey+City,+NJ244 Waltham,+MA569 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   109
+Herndon,+VA496 Santa+Clara,+CA429 22.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   110
+Herndon,+VA496 Herndon,+VA193 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   111
+Herndon,+VA496 Herndon,+VA495 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   112
+Irvine,+CA212 El+Segundo,+CA163 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   113
+Tokyo525 Santa+Clara,+CA404 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   114
+Tokyo525 Tokyo526 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   115
+Irvine,+CA213 Santa+Clara,+CA404 10
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   116
+Irvine,+CA213 Irvine,+CA228 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   117
+Irvine,+CA213 El+Segundo,+CA164 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   118
+Jersey+City,+NJ245 Jersey+City,+NJ261 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   119
+Jersey+City,+NJ245 London274 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   120
+Jersey+City,+NJ245 New+York,+NY294 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   121
+Jersey+City,+NJ245 London275 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   122
+Jersey+City,+NJ245 London276 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   123
+Jersey+City,+NJ245 Weehawken,+NJ544 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   124
+Jersey+City,+NJ245 Jersey+City,+NJ244 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   125
+Tokyo526 Tokyo525 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   126
+Tokyo526 Santa+Clara,+CA336 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   127
+Tokyo526 San+Jose,+CA460 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   128
+Waltham,+MA555 Waltham,+MA556 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   129
+Waltham,+MA555 Waltham,+MA568 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   130
+Waltham,+MA555 Oak+Brook,+IL300 13
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   131
+Waltham,+MA555 Toronto,+Canada537 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   132
+Waltham,+MA556 Oak+Brook,+IL300 10
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   133
+Waltham,+MA556 Waltham,+MA569 7
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   134
+Waltham,+MA556 Waltham,+MA555 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   135
+Herndon,+VA206 New+York,+NY293 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   136
+Herndon,+VA206 Herndon,+VA208 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   137
+Santa+Clara,+CA429 Herndon,+VA496 22.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   138
+Santa+Clara,+CA429 Santa+Clara,+CA430 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   139
+Santa+Clara,+CA429 Santa+Clara,+CA431 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   140
+Santa+Clara,+CA429 San+Jose,+CA459 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   141
+Santa+Clara,+CA429 Tukwila,+WA508 7
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   142
+Santa+Clara,+CA429 Santa+Clara,+CA403 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   143
+Herndon,+VA208 Herndon,+VA206 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   144
+Herndon,+VA208 New+York,+NY293 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   145
+Herndon,+VA208 Herndon,+VA495 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   146
+Atlanta,+GA126 Atlanta,+GA127 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   147
+Atlanta,+GA126 Herndon,+VA193 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   148
+Atlanta,+GA126 Atlanta,+GA133 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   149
+Miami,+FL285 New+York,+NY293 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   150
+Miami,+FL285 Miami,+FL286 8
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   151
+Atlanta,+GA127 Atlanta,+GA126 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   152
+Atlanta,+GA127 Miami,+FL286 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   153
+Atlanta,+GA127 Weehawken,+NJ543 18.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   154
+Atlanta,+GA127 Herndon,+VA193 7.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   155
+Atlanta,+GA127 Fort+Worth,+TX190 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   156
+Atlanta,+GA127 Atlanta,+GA133 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   157
+Miami,+FL286 Miami,+FL285 8
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   158
+Miami,+FL286 Atlanta,+GA127 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   159
+Fort+Worth,+TX190 Irvine,+CA228 14
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   160
+Fort+Worth,+TX190 Atlanta,+GA127 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   161
+Fort+Worth,+TX190 Irvine,+CA229 16
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   162
+Fort+Worth,+TX190 Austin,+TX136 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   163
+Fort+Worth,+TX190 Fort+Worth,+TX189 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   164
+Fort+Worth,+TX190 Fort+Worth,+TX191 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   165
+San+Jose,+CA459 Santa+Clara,+CA429 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   166
+San+Jose,+CA459 San+Jose,+CA460 6
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   167
+Fort+Worth,+TX191 Fort+Worth,+TX189 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   168
+Fort+Worth,+TX191 Fort+Worth,+TX190 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   169
+New+York,+NY293 Miami,+FL285 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   170
+New+York,+NY293 Herndon,+VA206 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   171
+New+York,+NY293 Herndon,+VA208 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   172
+New+York,+NY293 New+York,+NY294 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   173
+New+York,+NY293 Weehawken,+NJ543 8
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   174
+New+York,+NY293 Weehawken,+NJ544 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   175
+New+York,+NY294 Jersey+City,+NJ245 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   176
+New+York,+NY294 New+York,+NY293 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   177
+New+York,+NY294 Weehawken,+NJ543 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   178
+London274 Jersey+City,+NJ245 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   179
+London274 Amsterdam119 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   180
+London274 Weehawken,+NJ544 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   181
+London275 Jersey+City,+NJ245 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   182
+London275 Amsterdam119 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   183
+London275 Weehawken,+NJ544 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   184
+Santa+Clara,+CA430 Santa+Clara,+CA404 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   185
+Santa+Clara,+CA430 Santa+Clara,+CA364 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   186
+Santa+Clara,+CA430 Santa+Clara,+CA429 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   187
+Santa+Clara,+CA430 Santa+Clara,+CA388 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   188
+Santa+Clara,+CA430 San+Jose,+CA472 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   189
+Santa+Clara,+CA430 Santa+Clara,+CA336 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   190
+Santa+Clara,+CA430 Santa+Clara,+CA443 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   191
+London276 Jersey+City,+NJ245 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   192
+London276 Weehawken,+NJ544 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   193
+Santa+Clara,+CA431 Santa+Clara,+CA363 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   194
+Santa+Clara,+CA431 Santa+Clara,+CA429 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   195
+Santa+Clara,+CA431 Santa+Clara,+CA364 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   196
+Santa+Clara,+CA431 Santa+Clara,+CA365 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   197
+Santa+Clara,+CA431 San+Jose,+CA472 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   198
+Santa+Clara,+CA431 Santa+Clara,+CA443 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   199
+London277 Jersey+City,+NJ244 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   200
+Santa+Clara,+CA363 Santa+Clara,+CA431 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   201
+Santa+Clara,+CA363 Palo+Alto,+CA318 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   202
+Irvine,+CA228 Irvine,+CA213 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   203
+Irvine,+CA228 Irvine,+CA229 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   204
+Irvine,+CA228 Irvine,+CA237 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   205
+Irvine,+CA228 Irvine,+CA230 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   206
+Irvine,+CA228 Irvine,+CA231 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   207
+Irvine,+CA228 Fort+Worth,+TX189 17
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   208
+Irvine,+CA228 Fort+Worth,+TX190 14
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   209
+Santa+Clara,+CA364 Santa+Clara,+CA430 5.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   210
+Santa+Clara,+CA364 Santa+Clara,+CA431 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   211
+Santa+Clara,+CA364 Palo+Alto,+CA318 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   212
+Irvine,+CA229 Irvine,+CA228 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   213
+Irvine,+CA229 El+Segundo,+CA164 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   214
+Irvine,+CA229 Fort+Worth,+TX190 16
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   215
+Santa+Clara,+CA365 Palo+Alto,+CA104 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   216
+Santa+Clara,+CA365 Santa+Clara,+CA431 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   217
+Waltham,+MA568 Waltham,+MA569 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   218
+Waltham,+MA568 Jersey+City,+NJ244 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   219
+Waltham,+MA568 Waltham,+MA555 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   220
+Waltham,+MA569 Waltham,+MA556 7
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   221
+Waltham,+MA569 Waltham,+MA568 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   222
+Waltham,+MA569 Jersey+City,+NJ244 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   223
+Atlanta,+GA133 Atlanta,+GA126 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   224
+Atlanta,+GA133 Atlanta,+GA127 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   225
+San+Jose,+CA460 Tokyo526 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   226
+San+Jose,+CA460 Santa+Clara,+CA388 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   227
+San+Jose,+CA460 San+Jose,+CA459 6
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   228
+San+Jose,+CA460 Santa+Clara,+CA443 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   229
+El+Segundo,+CA163 Irvine,+CA212 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   230
+El+Segundo,+CA163 Santa+Clara,+CA404 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   231
+El+Segundo,+CA163 Santa+Clara,+CA405 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   232
+El+Segundo,+CA163 El+Segundo,+CA164 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   233
+El+Segundo,+CA163 Austin,+TX137 16
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   234
+Austin,+TX136 Fort+Worth,+TX190 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   235
+El+Segundo,+CA164 Irvine,+CA213 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   236
+El+Segundo,+CA164 Irvine,+CA229 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   237
+El+Segundo,+CA164 Irvine,+CA230 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   238
+El+Segundo,+CA164 Irvine,+CA231 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   239
+El+Segundo,+CA164 El+Segundo,+CA163 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   240
+El+Segundo,+CA164 Santa+Clara,+CA403 9
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   241
+El+Segundo,+CA164 Santa+Clara,+CA443 6
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   242
+Austin,+TX137 El+Segundo,+CA163 16
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   243
+Austin,+TX137 Fort+Worth,+TX189 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   244
+Santa+Clara,+CA403 Santa+Clara,+CA444 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   245
+Santa+Clara,+CA403 Santa+Clara,+CA404 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   246
+Santa+Clara,+CA403 Santa+Clara,+CA429 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   247
+Santa+Clara,+CA403 Santa+Clara,+CA405 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   248
+Santa+Clara,+CA403 Palo+Alto,+CA104 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   249
+Santa+Clara,+CA403 Santa+Clara,+CA389 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   250
+Santa+Clara,+CA403 Fort+Worth,+TX189 16
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   251
+Santa+Clara,+CA403 El+Segundo,+CA164 9
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   252
+Jersey+City,+NJ261 Jersey+City,+NJ245 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   253
+Jersey+City,+NJ261 Jersey+City,+NJ244 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   254
+Santa+Clara,+CA404 Santa+Clara,+CA444 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   255
+Santa+Clara,+CA404 Irvine,+CA213 10
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   256
+Santa+Clara,+CA404 Tokyo525 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   257
+Santa+Clara,+CA404 Santa+Clara,+CA430 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   258
+Santa+Clara,+CA404 El+Segundo,+CA163 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   259
+Santa+Clara,+CA404 Santa+Clara,+CA443 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   260
+Santa+Clara,+CA404 Santa+Clara,+CA403 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   261
+Santa+Clara,+CA405 El+Segundo,+CA163 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   262
+Santa+Clara,+CA405 Santa+Clara,+CA403 5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   263
+Irvine,+CA230 Irvine,+CA228 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   264
+Irvine,+CA230 El+Segundo,+CA164 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   265
+Irvine,+CA231 Irvine,+CA228 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   266
+Irvine,+CA231 Irvine,+CA237 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   267
+Irvine,+CA231 El+Segundo,+CA164 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   268
+Santa+Clara,+CA336 Tokyo526 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   269
+Santa+Clara,+CA336 Santa+Clara,+CA430 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   270
+Santa+Clara,+CA336 Palo+Alto,+CA317 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   271
+Santa+Clara,+CA443 Santa+Clara,+CA444 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   272
+Santa+Clara,+CA443 Santa+Clara,+CA404 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   273
+Santa+Clara,+CA443 Santa+Clara,+CA430 3.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   274
+Santa+Clara,+CA443 Santa+Clara,+CA431 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   275
+Santa+Clara,+CA443 Santa+Clara,+CA389 4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   276
+Santa+Clara,+CA443 El+Segundo,+CA164 6
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   277
+Santa+Clara,+CA443 San+Jose,+CA460 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   278
+Santa+Clara,+CA444 Santa+Clara,+CA404 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   279
+Santa+Clara,+CA444 San+Jose,+CA471 4.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   280
+Santa+Clara,+CA444 Palo+Alto,+CA104 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   281
+Santa+Clara,+CA444 Santa+Clara,+CA443 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   282
+Santa+Clara,+CA444 Santa+Clara,+CA403 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   283
+Frankfurt184 Jersey+City,+NJ244 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   284
+Irvine,+CA237 Irvine,+CA228 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   285
+Irvine,+CA237 Irvine,+CA231 3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   286
+Frankfurt185 Amsterdam119 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   287
+Oak+Brook,+IL300 Weehawken,+NJ543 12
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   288
+Oak+Brook,+IL300 Oak+Brook,+IL307 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   289
+Oak+Brook,+IL300 Oak+Brook,+IL315 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   290
+Oak+Brook,+IL300 Weehawken,+NJ552 13
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   291
+Oak+Brook,+IL300 Oak+Brook,+IL308 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   292
+Oak+Brook,+IL300 Oak+Brook,+IL309 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   293
+Oak+Brook,+IL300 Chicago,+IL156 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   294
+Oak+Brook,+IL300 Toronto,+Canada538 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   295
+Oak+Brook,+IL300 Waltham,+MA555 13
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   296
+Oak+Brook,+IL300 Waltham,+MA556 10
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   297
+Oak+Brook,+IL300 Oak+Brook,+IL301 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   298
+Oak+Brook,+IL300 Oak+Brook,+IL310 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   299
+Oak+Brook,+IL301 San+Jose,+CA471 14.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   300
+Oak+Brook,+IL301 Oak+Brook,+IL307 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   301
+Oak+Brook,+IL301 Oak+Brook,+IL315 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   302
+Oak+Brook,+IL301 Oak+Brook,+IL308 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   303
+Oak+Brook,+IL301 Chicago,+IL155 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   304
+Oak+Brook,+IL301 Oak+Brook,+IL309 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   305
+Oak+Brook,+IL301 Oak+Brook,+IL300 2.5
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   306
+Oak+Brook,+IL301 Oak+Brook,+IL310 3.5
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
   307
diff -r a1527ef7aacd example/dce-fga-crawdad.cc
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   308
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
   309
+++ b/example/dce-fga-crawdad.cc	Thu Mar 29 13:55:22 2012 +0900
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   310
@@ -0,0 +1,233 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   311
+/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   312
+#include "ns3/core-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   313
+#include "ns3/mobility-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   314
+#include "ns3/crawdad-mobility-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   315
+#include "ns3/dce-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   316
+#include "ns3/mip6d-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   317
+#include "ns3/csma-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   318
+#include "ns3/wifi-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   319
+#include "ns3/yans-wifi-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   320
+#include "ns3/mgt-headers.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   321
+#include "ns3/nqos-wifi-mac-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   322
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   323
+#include <sys/resource.h>
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   324
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   325
+using namespace ns3;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   326
+NS_LOG_COMPONENT_DEFINE ("DceFgaCrawdad");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   327
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   328
+#include <iomanip>
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   329
+void Progress ()
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   330
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   331
+  Time now = Simulator::Now ();
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   332
+  Simulator::Schedule (Seconds (1), MakeEvent (&Progress));
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   333
+  fprintf (stderr, "Elapsed:  %.3f sec\r", now.GetSeconds ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   334
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   335
+static void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   336
+SetRlimit ()
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   337
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   338
+  int ret;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   339
+  struct rlimit limit;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   340
+  limit.rlim_cur = 1000000;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   341
+  limit.rlim_max = 1000000;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   342
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   343
+  ret = setrlimit(RLIMIT_NOFILE, &limit);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   344
+  if (ret == -1)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   345
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   346
+       perror ("setrlimit");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   347
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   348
+  return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   349
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   350
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   351
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   352
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   353
+static void RunIp (Ptr<Node> node, Time at, std::string str)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   354
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   355
+  DceApplicationHelper process;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   356
+  ApplicationContainer apps;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   357
+  process.SetBinary ("ip");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   358
+  process.SetStackSize (1<<16);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   359
+  process.ResetArguments();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   360
+  process.ParseArguments(str.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   361
+  apps = process.Install (node);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   362
+  apps.Start (at);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   363
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   364
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   365
+static void AddAddress (Ptr<Node> node, Time at, uint32_t sim_suffix, const char *address)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   366
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   367
+  std::ostringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   368
+  oss << "-f inet6 addr add " << address << " dev sim" << sim_suffix;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   369
+  RunIp (node, at, oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   370
+  oss.str("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   371
+  oss << "link set sim" << sim_suffix << " up";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   372
+  RunIp (node, Seconds (at.GetSeconds () + 0.1), oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   373
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   374
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   375
+static void AddRoute (Ptr<Node> node, Time at, const char *dest, const char *gw, uint32_t sim_suffix)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   376
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   377
+  std::ostringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   378
+  oss << "-6 route add " << dest << " via " << gw << " dev sim" << sim_suffix;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   379
+  RunIp (node, at, oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   380
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   381
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   382
+static void RunIp6Tables (Ptr<Node> node, Time at, std::string str)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   383
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   384
+  //  return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   385
+  DceApplicationHelper process;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   386
+  ApplicationContainer apps;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   387
+  process.SetBinary ("ip6tables");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   388
+  process.SetStackSize (1<<16);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   389
+  process.ResetArguments();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   390
+  process.ParseArguments(str.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   391
+  apps = process.Install (node);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   392
+  apps.Start (at);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   393
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   394
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   395
+std::string mnp_base = "2001:200:0:";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   396
+std::string hoa_base = "2001:500:0:";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   397
+bool isDebug = false;
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   398
+int numRFR = 1;
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   399
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   400
+void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   401
+ConfigureMRs (NodeContainer mr)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   402
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   403
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   404
+  // NetDevice Conf
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   405
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   406
+  WifiHelper wifi = WifiHelper::Default ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   407
+  wifi.SetStandard (WIFI_PHY_STANDARD_80211b);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   408
+  wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   409
+                                "DataMode",StringValue("DsssRate1Mbps"),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   410
+                                "ControlMode",StringValue("DsssRate1Mbps"));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   411
+  YansWifiPhyHelper phy = YansWifiPhyHelper::Default ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   412
+  YansWifiChannelHelper phyChannel = YansWifiChannelHelper::Default ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   413
+  NqosWifiMacHelper mac;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   414
+  // For Egress interface (adhoc)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   415
+  mac.SetType ("ns3::AdhocWifiMac", "Ssid", SsidValue (Ssid ("manemo-eiei")));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   416
+  phy.SetChannel (phyChannel.Create ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   417
+  wifi.Install (phy, mac, mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   418
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   419
+  // For Ingress (AP)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   420
+  // mac.SetType ("ns3::ApWifiMac", "Ssid", SsidValue (Ssid ("manemo-ingress")));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   421
+  // phy.SetChannel (phyChannel.Create ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   422
+  // wifi.Install (phy, mac, mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   423
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   424
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   425
+  // Upper Layers
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   426
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   427
+  Mip6dHelper mip6d;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   428
+  for (uint32_t i = 0; i< mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   429
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   430
+      // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   431
+      // IP address configuration
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   432
+      // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   433
+      std::ostringstream mnp;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   434
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   435
+      // Ingress Interface (FIXME)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   436
+      CsmaHelper csma;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   437
+      csma.Install (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   438
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   439
+      // others
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   440
+      RunIp (mr.Get (i), Seconds (0.15), "link set lo up");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   441
+      RunIp (mr.Get (i), Seconds (0.2), "link set ip6tnl0 up");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   442
+      RunIp (mr.Get (i), Seconds (0.25), "addr");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   443
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   444
+      // EI interface 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   445
+      mnp.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   446
+      mnp << mnp_base << std::hex << i;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   447
+      AddAddress (mr.Get (i), Seconds (0.6), 0, (mnp.str () + "::1/128").c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   448
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   449
+      // Ingress
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   450
+      AddAddress (mr.Get (i), Seconds (0.8), 1, (mnp.str () + "::1/64").c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   451
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   452
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   453
+      // zebra
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   454
+      QuaggaHelper quagga;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   455
+      quagga.EnableRadvd (mr.Get (i), "sim0", "");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   456
+      //      quagga.EnableRadvd (mr.Get (i), "sim1", (mnp.str () + "::/64").c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   457
+      quagga.EnableTdpNina (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   458
+      quagga.EnableEgressIF (mr.Get (i), "sim0");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   459
+//      quagga.EnableNat (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   460
+      if (isDebug||1)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   461
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   462
+          quagga.EnableZebraDebug (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   463
+        }
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   464
+      if (i < numRFR)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   465
+        {
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   466
+          quagga.EnableTdpFixedRouter (mr.Get (i));
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   467
+        }
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   468
+      quagga.Install (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   469
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   470
+      // mip6d
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   471
+#if 0
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   472
+      std::ostringstream hoa;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   473
+      hoa << hoa_base << std::hex << i;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   474
+      mip6d.AddMobileNetworkPrefix (mr.Get (i), Ipv6Address ((mnp.str () + "::/64").c_str()), Ipv6Prefix (64));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   475
+      mip6d.AddHomeAgentAddress (mr.Get (i), Ipv6Address ((hoa.str () + "::1/64").c_str ()));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   476
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   477
+      mip6d.AddHomeAddress (mr.Get (i), Ipv6Address ((hoa.str () + "::2/64").c_str ()), Ipv6Prefix (64));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   478
+      mip6d.AddEgressInterface (mr.Get (i), "sim0");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   479
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   480
+      mip6d.EnableMR (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   481
+      mip6d.Install (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   482
+#endif
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   483
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   484
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   485
+  if (isDebug)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   486
+    phy.EnablePcapAll ("pcap/dce-fga-crawdad");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   487
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   488
+  return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   489
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   490
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   491
+// Example to use ns2 traces file in ns3
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   492
+int main (int argc, char *argv[])
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   493
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   494
+  std::string traceDir = "/home/tazaki/Downloads/crawdad/cabspottingdata/";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   495
+  //  int    nodeNum=20;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   496
+  int    nodeNum=536;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   497
+  int trial = 1;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   498
+  int duration = 1213089934 - 1211018404;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   499
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   500
+  // Parse command line attribute
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   501
+  CommandLine cmd;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   502
+  cmd.AddValue ("traceDir", "Crawdad movement trace directory", traceDir);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   503
+  cmd.AddValue ("trial", "Set num of trial", trial);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   504
+  cmd.AddValue ("isDebug", "Debug mode", isDebug);
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   505
+  cmd.AddValue ("numRFR", "The number of Root FR", numRFR);
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   506
+  cmd.AddValue ("nodeNum", "The number of node", nodeNum);
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   507
+  cmd.Parse (argc,argv);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   508
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   509
+  // Enable logging from the crawdad helper
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   510
+  LogComponentEnable ("CrawdadMobilityHelper",LOG_LEVEL_WARN);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   511
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   512
+  SetRlimit ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   513
+  std::cout << "Random seed will " << trial << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   514
+  SeedManager::SetSeed (trial);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   515
+  SeedManager::SetRun (trial + 2);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   516
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   517
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   518
+  // Create mobile routers.
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   519
+  NodeContainer mr;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   520
+  mr.Create (nodeNum);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   521
+  CrawdadMobilityHelper crawdad = CrawdadMobilityHelper (traceDir);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   522
+  crawdad.Install (); // MR with Crawdad Trace
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   523
+  ConfigureMRs (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   524
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   525
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   526
+  DceManagerHelper dceMng;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   527
+  dceMng.SetTaskManagerAttribute ("FiberManagerType", 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   528
+                                  EnumValue (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   529
+  dceMng.SetAttribute ("MinimizeOpenFiles", BooleanValue (true));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   530
+  dceMng.SetLoader ("ns3::DlmLoaderFactory");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   531
+  dceMng.SetNetworkStack("ns3::LinuxSocketFdFactory",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   532
+                         "Library", StringValue ("libnet-next-2.6.so"));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   533
+  dceMng.Install (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   534
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   535
+
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
   536
+  if (isDebug || 1)
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   537
+    Simulator::ScheduleNow (Progress);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   538
+  Simulator::Stop (Seconds (duration));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   539
+  Simulator::Run ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   540
+  Simulator::Destroy ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   541
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   542
+  return 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   543
+}
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
   544
diff -r a1527ef7aacd example/dce-fga.cc
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   545
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
   546
+++ b/example/dce-fga.cc	Thu Mar 29 13:55:22 2012 +0900
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   547
@@ -0,0 +1,829 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   548
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   549
+#include "ns3/network-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   550
+#include "ns3/core-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   551
+#include "ns3/internet-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   552
+#include "ns3/dce-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   553
+#include "ns3/mip6d-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   554
+#include "ns3/csma-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   555
+#include "ns3/wifi-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   556
+#include "ns3/yans-wifi-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   557
+#include "ns3/nqos-wifi-mac-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   558
+#include "ns3/mobility-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   559
+#include "ns3/ping6-helper.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   560
+#include "ns3/topology-read-module.h"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   561
+#include "ns3/mgt-headers.h"        // from wifi module
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   562
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   563
+#include <iomanip>
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   564
+#include <sys/resource.h>
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   565
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   566
+using namespace ns3;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   567
+NS_LOG_COMPONENT_DEFINE ("mip6d-rf");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   568
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   569
+static void RunIp (Ptr<Node> node, Time at, std::string str)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   570
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   571
+  DceApplicationHelper process;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   572
+  ApplicationContainer apps;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   573
+  process.SetBinary ("ip");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   574
+  process.SetStackSize (1<<16);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   575
+  process.ResetArguments();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   576
+  process.ParseArguments(str.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   577
+  apps = process.Install (node);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   578
+  apps.Start (at);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   579
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   580
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   581
+static void AddAddress (Ptr<Node> node, Time at, uint32_t sim_suffix, const char *address)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   582
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   583
+  std::ostringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   584
+  oss << "-f inet6 addr add " << address << " dev sim" << sim_suffix;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   585
+  RunIp (node, at, oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   586
+  oss.str("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   587
+  oss << "link set sim" << sim_suffix << " up";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   588
+  RunIp (node, Seconds (at.GetSeconds () + 0.1), oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   589
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   590
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   591
+static void AddRoute (Ptr<Node> node, Time at, const char *dest, const char *gw, uint32_t sim_suffix)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   592
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   593
+  std::ostringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   594
+  oss << "-6 route add " << dest << " via " << gw << " dev sim" << sim_suffix;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   595
+  RunIp (node, at, oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   596
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   597
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   598
+static void RunIp6Tables (Ptr<Node> node, Time at, std::string str)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   599
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   600
+  //  return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   601
+  DceApplicationHelper process;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   602
+  ApplicationContainer apps;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   603
+  process.SetBinary ("ip6tables");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   604
+  process.SetStackSize (1<<16);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   605
+  process.ResetArguments();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   606
+  process.ParseArguments(str.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   607
+  apps = process.Install (node);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   608
+  apps.Start (at);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   609
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   610
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   611
+static void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   612
+SetRlimit ()
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   613
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   614
+  int ret;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   615
+  struct rlimit limit;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   616
+  limit.rlim_cur = 1000000;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   617
+  limit.rlim_max = 1000000;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   618
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   619
+  ret = setrlimit(RLIMIT_NOFILE, &limit);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   620
+  if (ret == -1)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   621
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   622
+       perror ("setrlimit");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   623
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   624
+  return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   625
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   626
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   627
+static void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   628
+SetVelocity (Ptr<Node> node, Vector vel)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   629
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   630
+  Ptr<ConstantVelocityMobilityModel> mobility =
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   631
+    node->GetObject<ConstantVelocityMobilityModel> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   632
+  mobility->SetVelocity (vel);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   633
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   634
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   635
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   636
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   637
+uint32_t useAdhoc = 0;          // 0: E-I (nemobs), 1: EI-EI (nat-manemo), 2: E-I (nat-manemo)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   638
+uint32_t useMobility = 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   639
+int stopTime = 800;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   640
+double ping6_interval = 1.0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   641
+bool doPing = true;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   642
+bool doPerf = false;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   643
+double startTime = 50.0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   644
+int trial = 1;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   645
+uint32_t mrNodes = 7;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   646
+bool mobilityDebug = false;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   647
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   648
+std::string bgp_sim0_base ("2001:300:0:");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   649
+std::string ha_sim0_base ("2001:200:0:8a");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   650
+std::string mnp_base ("2001:200:0:88");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   651
+std::string ar_arcore = "3000:1000:500:100::1/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   652
+std::string ar_arcore2 = "3000:1000:500:100::2/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   653
+std::string ar0_mnet = "4000:1000:500:100::1/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   654
+std::string cn_network = "5000:100:0:1000::1/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   655
+std::string ar1_wifi_net = "4000:2000:500:100::/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   656
+std::string ar1_wifi_link = "4000:2000:500:100::3/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   657
+std::string ar0_ar1_link = "6000:500:200:0::";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   658
+uint32_t ar0_attatch_rtr = 60;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   659
+uint32_t cn_attatch_rtr = 61;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   660
+uint32_t diff_x = 100;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   661
+uint32_t diff_y = 100;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   662
+double move_start = 550.0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   663
+double move_end = 600.0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   664
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   665
+NodeContainer
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   666
+CreateAccessNetwork ()
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   667
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   668
+  Ptr<TopologyReader> inFile = 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   669
+  TopologyReaderHelper topoHelp;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   670
+  
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   671
+  NodeContainer nodes;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   672
+  
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   673
+  std::string format ("Rocketfuel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   674
+  std::string input ("examples/topology-read/RocketFuel_toposample_1239_weights.txt");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   675
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   676
+  input = "3967.weights.intra";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   677
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   678
+  topoHelp.SetFileName(input);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   679
+  topoHelp.SetFileType(format);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   680
+  inFile = topoHelp.GetTopologyReader();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   681
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   682
+  if (inFile != 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   683
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   684
+      nodes = inFile->Read ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   685
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   686
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   687
+  if (nodes.GetN () == 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   688
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   689
+      NS_LOG_ERROR ("Problems reading node information the topology file. Failing.");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   690
+      return nodes;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   691
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   692
+  if (inFile->LinksSize () == 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   693
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   694
+      NS_LOG_ERROR ("Problems reading the topology file. Failing.");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   695
+      return nodes;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   696
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   697
+  NS_LOG_INFO ("Rocketfuel topology created with " << nodes.GetN () << " nodes and " << 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   698
+               inFile->LinksSize () << " links (from " << input << ")");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   699
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   700
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   701
+  //  Step 1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   702
+  //  Node Basic Configuration
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   703
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   704
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   705
+  DceManagerHelper processManager;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   706
+  processManager.SetTaskManagerAttribute ("FiberManagerType", 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   707
+                                          EnumValue (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   708
+  processManager.SetAttribute ("MinimizeOpenFiles", BooleanValue (true));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   709
+  //  processManager.SetLoader ("ns3::DlmLoaderFactory");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   710
+  processManager.SetNetworkStack("ns3::LinuxSocketFdFactory",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   711
+				 "Library", StringValue ("libnet-next-2.6.so"));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   712
+  processManager.Install (nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   713
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   714
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   715
+  // Step 2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   716
+  // Address Configuration
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   717
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   718
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   719
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   720
+  int totlinks = inFile->LinksSize ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   721
+  NS_LOG_INFO ("creating node containers");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   722
+  NodeContainer nc[totlinks];
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   723
+  TopologyReader::ConstLinksIterator iter;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   724
+  int i = 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   725
+  for (iter = inFile->LinksBegin (); iter != inFile->LinksEnd (); iter++, i++ )
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   726
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   727
+      nc[i] = NodeContainer (iter->GetFromNode (), iter->GetToNode ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   728
+      //      NS_LOG_INFO ("Node " << iter->GetFromNode ()->GetId () << " and Node "<<  iter->GetToNode ()->GetId () << " is paired");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   729
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   730
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   731
+  NS_LOG_INFO ("creating net device containers");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   732
+  NetDeviceContainer ndc[totlinks];
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   733
+  NodeContainer gnodes = NodeContainer::GetGlobal ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   734
+  CsmaHelper csma;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   735
+  MobilityHelper mobility;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   736
+  //  mobility.Install (nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   737
+  // Configure process
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   738
+  QuaggaHelper quagga;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   739
+  quagga.EnableBgp (nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   740
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   741
+  for (int i = 0; i < totlinks; i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   742
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   743
+      csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   744
+      csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (0.20)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   745
+      ndc[i] = csma.Install (nc[i]);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   746
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   747
+      uint32_t n1 = nc[i].Get (0)->GetId ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   748
+      uint32_t n2 = nc[i].Get (1)->GetId ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   749
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   750
+      // IP address
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   751
+      std::stringstream cmdstr;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   752
+      std::stringstream n1_v6, n2_v6;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   753
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   754
+      n1_v6 << bgp_sim0_base << std::setw(4) << std::setfill('0') << std::hex << i  << "::1/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   755
+      AddAddress (gnodes.Get (n1), Seconds (0.1), ndc[i].Get (0)->GetIfIndex (), n1_v6.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   756
+      RunIp (gnodes.Get (n1), Seconds (0.11), "link set lo up");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   757
+      cmdstr << "link set sim" << ndc[i].Get (0)->GetIfIndex () << " up";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   758
+      RunIp (gnodes.Get (n1), Seconds (0.11), cmdstr.str());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   759
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   760
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   761
+      n2_v6 << bgp_sim0_base << std::setw(4) << std::setfill('0') << std::hex << i  << "::2/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   762
+      AddAddress (gnodes.Get (n2), Seconds (0.1), ndc[i].Get (1)->GetIfIndex (), n2_v6.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   763
+      RunIp (gnodes.Get (n2), Seconds (0.11), "link set lo up");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   764
+      cmdstr.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   765
+      cmdstr << "link set sim" << ndc[i].Get (1)->GetIfIndex () << " up";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   766
+      RunIp (gnodes.Get (n2), Seconds (0.11), cmdstr.str());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   767
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   768
+      // bgp peer
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   769
+      std::string n1_nbr = n1_v6.str ().replace (n1_v6.str ().find ("/"), 3, "   ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   770
+      std::string n2_nbr = n2_v6.str ().replace (n2_v6.str ().find ("/"), 3, "   ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   771
+      quagga.BgpAddNeighbor(gnodes.Get (n1), n2_nbr, quagga.GetAsn(gnodes.Get (n2)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   772
+      quagga.BgpAddNeighbor(gnodes.Get (n2), n1_nbr, quagga.GetAsn(gnodes.Get (n1)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   773
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   774
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   775
+  quagga.EnableZebraDebug (nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   776
+  // Config IF later
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   777
+  // MR
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   778
+  std::stringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   779
+  oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   780
+  oss << "sim" << std::dec << nodes.Get (ar0_attatch_rtr)->GetNDevices ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   781
+  quagga.EnableRadvd (nodes.Get (ar0_attatch_rtr), oss.str ().c_str (), 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   782
+                      "4000:1000:500:100::/64"); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   783
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   784
+  // CN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   785
+  oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   786
+  oss << "sim" << std::dec << nodes.Get (nodes.GetN ()-1)->GetNDevices ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   787
+  quagga.EnableRadvd (nodes.Get (nodes.GetN () - 1), oss.str ().c_str (),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   788
+                      "5000:100:0:1000::/64"); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   789
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   790
+  // HAs
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   791
+  for (uint32_t i = 0; i< mrNodes; i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   792
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   793
+      oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   794
+      oss << "sim" << std::dec << nodes.Get (i)->GetNDevices ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   795
+#ifdef FIXME
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   796
+      quagga.EnableRadvd (nodes.Get (i), oss.str ().c_str(),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   797
+                          "/64"); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   798
+#endif
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   799
+      quagga.EnableHomeAgentFlag (nodes.Get (i), oss.str ().c_str());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   800
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   801
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   802
+  oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   803
+  oss << "sim" << std::dec << nodes.Get (cn_attatch_rtr)->GetNDevices ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   804
+#ifdef FIXME
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   805
+  quagga.EnableRadvd (nodes.Get (cn_attatch_rtr), oss.str ().c_str ()); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   806
+#endif
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   807
+  if (!mobilityDebug)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   808
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   809
+      quagga.Install (nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   810
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   811
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   812
+  return nodes;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   813
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   814
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   815
+int main (int argc, char *argv[])
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   816
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   817
+  ApplicationContainer sinkApp;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   818
+  CommandLine cmd;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   819
+  cmd.AddValue ("useAdhoc", "use EIEI or not", useAdhoc);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   820
+  cmd.AddValue ("useMobility", "use movement", useMobility);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   821
+  cmd.AddValue ("stopTime", "Duration of simulation", stopTime);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   822
+  cmd.AddValue ("startTime", "Start time of the perf transmission", startTime);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   823
+  cmd.AddValue ("trial", "Set num of trial", trial);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   824
+  cmd.AddValue ("mrNodes", "num of node", mrNodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   825
+  cmd.AddValue ("mobilityDebug", "stop BGP session", mobilityDebug);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   826
+  cmd.Parse (argc, argv);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   827
+  LogComponentEnable ("mip6d-rf", LOG_LEVEL_INFO);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   828
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   829
+  if (mrNodes < 6)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   830
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   831
+      NS_LOG_WARN ("mrNodes must be >= 6");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   832
+      return 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   833
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   834
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   835
+  SetRlimit ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   836
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   837
+  std::cout << "Random seed will " << trial << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   838
+  SeedManager::SetSeed (trial);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   839
+  SeedManager::SetRun (trial + 2);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   840
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   841
+  if (useMobility)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   842
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   843
+      ping6_interval = 1.0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   844
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   845
+  else
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   846
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   847
+      ping6_interval = 1.0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   848
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   849
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   850
+  NodeContainer arCore = CreateAccessNetwork ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   851
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   852
+  std::ostringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   853
+  NodeContainer mr, ha, ar;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   854
+  ha.Create (mrNodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   855
+  ar.Create (2);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   856
+  mr.Create (mrNodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   857
+  NodeContainer mnn, cn;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   858
+  cn.Create (1);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   859
+  mnn.Create (1);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   860
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   861
+  MobilityHelper mobility;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   862
+  Ptr<ListPositionAllocator> positionAlloc = CreateObject<ListPositionAllocator> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   863
+  for (uint32_t i = 0; i < ha.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   864
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   865
+      positionAlloc->Add (Vector (50.0 * i, 0.0, 0.0)); // HA0
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   866
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   867
+  positionAlloc->Add (Vector (75.0, 300.0, 0.0)); // AR0
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   868
+  positionAlloc->Add (Vector (275.0, 300.0, 0.0)); // AR1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   869
+  positionAlloc->Add (Vector (-50.0, 300.0, 0.0)); // CN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   870
+  mobility.SetPositionAllocator (positionAlloc);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   871
+  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   872
+  mobility.Install (ha);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   873
+  mobility.Install (ar);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   874
+  mobility.Install (cn);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   875
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   876
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   877
+  Ptr<ListPositionAllocator> mr_position = CreateObject<ListPositionAllocator> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   878
+  mr_position->Add (Vector (70.0, 350.0, 0.0)); // MR0
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   879
+  mr_position->Add (Vector (70.0 - 1 * diff_x, 350.0 + 1 * diff_y, 0.0)); // MR1, another branch
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   880
+  mr_position->Add (Vector (70.0 + 2.5 * diff_x + 50, 350.0 + 0.5 * diff_y, 0.0)); // MR2, another floating ground
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   881
+  mobility.SetPositionAllocator (mr_position);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   882
+  if (useMobility == 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   883
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   884
+      mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   885
+      mobility.Install (mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   886
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   887
+  else if (useMobility == 1)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   888
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   889
+      mobility.SetMobilityModel ("ns3::ConstantVelocityMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   890
+      mobility.Install (mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   891
+      Simulator::Schedule (Seconds (move_start), &SetVelocity, mr.Get (0), Vector (6.0,0.0,0.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   892
+      Simulator::Schedule (Seconds (move_end), &SetVelocity, mr.Get (0), Vector (0.0,0.0,0.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   893
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   894
+  else if (useMobility == 2)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   895
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   896
+      mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   897
+      mobility.Install (mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   898
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   899
+  else if (useMobility == 3)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   900
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   901
+      mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   902
+      mobility.Install (mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   903
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   904
+  else if (useMobility == 4)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   905
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   906
+      mobility.SetMobilityModel ("ns3::RandomWalk2dMobilityModel",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   907
+                                 "Bounds", RectangleValue (Rectangle (0, 300, 300, 350)),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   908
+                                 "Distance", DoubleValue (20.0),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   909
+                                 "Speed", RandomVariableValue (ConstantVariable (5)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   910
+      mobility.Install (mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   911
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   912
+  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   913
+  mobility.Install (mr.Get (1));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   914
+  mobility.Install (mr.Get (2));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   915
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   916
+  mobility.PushReferenceMobilityModel (mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   917
+  // Lower MR
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   918
+  for (uint32_t i = 3; i< mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   919
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   920
+      if (useMobility == 2)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   921
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   922
+          if (i == 5)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   923
+            {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   924
+              mobility.PopReferenceMobilityModel ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   925
+              mr_position = CreateObject<ListPositionAllocator> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   926
+              mr_position->Add (Vector (70.0 + 1 * diff_x, 350.0 + 3 * diff_y, 0.0)); // MR4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   927
+              mobility.SetPositionAllocator (mr_position);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   928
+              mobility.SetMobilityModel ("ns3::ConstantVelocityMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   929
+              mobility.Install (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   930
+              mobility.PushReferenceMobilityModel (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   931
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   932
+              Simulator::Schedule (Seconds (move_start), &SetVelocity, mr.Get (i), Vector (5.0,-2.4,0.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   933
+              Simulator::Schedule (Seconds (move_end), &SetVelocity, mr.Get (i), Vector (0.0,0.0,0.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   934
+              continue;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   935
+            }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   936
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   937
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   938
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   939
+      if (useMobility == 3)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   940
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   941
+          if (i == 5)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   942
+            {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   943
+              mobility.PopReferenceMobilityModel ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   944
+              mr_position = CreateObject<ListPositionAllocator> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   945
+              mr_position->Add (Vector (70.0 + 1 * diff_x, 350.0 + 3 * diff_y, 0.0)); // MR4
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   946
+              mobility.SetPositionAllocator (mr_position);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   947
+              mobility.SetMobilityModel ("ns3::ConstantVelocityMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   948
+              mobility.Install (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   949
+              mobility.PushReferenceMobilityModel (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   950
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   951
+              Simulator::Schedule (Seconds (move_start), &SetVelocity, mr.Get (i), Vector (-5.0,-2.5,0.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   952
+              Simulator::Schedule (Seconds (move_end), &SetVelocity, mr.Get (i), Vector (0.0,0.0,0.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   953
+              continue;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   954
+            }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   955
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   956
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   957
+      Vector pos;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   958
+      Ptr<ListPositionAllocator> positionAllocMr = 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   959
+        CreateObject<ListPositionAllocator> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   960
+      if (i == 3)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   961
+        pos.x = (1.0) * diff_x;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   962
+      else
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   963
+        pos.x = 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   964
+      pos.y = diff_y;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   965
+      positionAllocMr->Add (pos);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   966
+      mobility.SetPositionAllocator (positionAllocMr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   967
+      mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   968
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   969
+      mobility.Install (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   970
+      pos = mr.Get (i)->GetObject<MobilityModel> ()->GetPosition ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   971
+      std::cout << "pos of " << i-1 << " is " << pos.x << ":" << pos.y << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   972
+      mobility.PopReferenceMobilityModel ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   973
+      mobility.PushReferenceMobilityModel (mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   974
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   975
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   976
+  // MNN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   977
+  mobility.PushReferenceMobilityModel (mr.Get (mr.GetN () -1));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   978
+  Ptr<MobilityModel> parentMobility = mr.Get (mr.GetN () -1)->GetObject<MobilityModel> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   979
+  Vector pos =  parentMobility->GetPosition ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   980
+  Ptr<ListPositionAllocator> positionAllocMnn = 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   981
+    CreateObject<ListPositionAllocator> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   982
+  pos.x = 5;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   983
+  pos.y = 20;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   984
+  positionAllocMnn->Add (pos);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   985
+  mobility.SetPositionAllocator (positionAllocMnn);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   986
+  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   987
+  mobility.Install (mnn);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   988
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   989
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   990
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   991
+  // NetDevice Conf
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   992
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   993
+  WifiHelper wifi = WifiHelper::Default ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   994
+  //  wifi.EnableLogComponents ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   995
+  wifi.SetStandard (WIFI_PHY_STANDARD_80211b);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   996
+  wifi.SetRemoteStationManager ("ns3::ConstantRateWifiManager",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   997
+                                "DataMode",StringValue("DsssRate1Mbps"),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   998
+                                "ControlMode",StringValue("DsssRate1Mbps"));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
   999
+  YansWifiPhyHelper phy = YansWifiPhyHelper::Default ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1000
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1001
+  YansWifiChannelHelper phyChannel = YansWifiChannelHelper::Default ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1002
+  NqosWifiMacHelper mac;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1003
+  CsmaHelper csma;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1004
+  csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1005
+  csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (0.20)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1006
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1007
+  NetDeviceContainer arcore_dev = csma.Install (NodeContainer (ar.Get (0), arCore.Get (ar0_attatch_rtr)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1008
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1009
+  for (uint32_t i = 0; i < ha.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1010
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1011
+      if (i == cn_attatch_rtr || i == ar0_attatch_rtr)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1012
+        continue;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1013
+      csma.Install (NodeContainer (arCore.Get (i), ha.Get (i)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1014
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1015
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1016
+  // For Egress interface (sta-wifi)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1017
+  Ptr<YansWifiChannel> mr0sta;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1018
+  Ssid ssid = Ssid ("manemo-ingress");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1019
+  // AP (ingress)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1020
+  mac.SetType ("ns3::ApWifiMac", "Ssid", SsidValue (ssid));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1021
+  phy.SetChannel (mr0sta = phyChannel.Create ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1022
+  wifi.Install (phy, mac, ar.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1023
+  // STA (egress)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1024
+  mac.SetType ("ns3::StaWifiMac",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1025
+               "Ssid", SsidValue (ssid),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1026
+               "MaxMissedBeacons", UintegerValue (5),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1027
+               "ActiveProbing", BooleanValue (false));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1028
+  phy.SetChannel (mr0sta);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1029
+  wifi.Install (phy, mac, mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1030
+  wifi.Install (phy, mac, mr.Get (2));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1031
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1032
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1033
+  // For Ingress interface (wifi-ap) and AR
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1034
+  Ptr<YansWifiChannel> nextap;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1035
+  Ptr<YansWifiChannel> mr0adhoc;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1036
+  Ptr<YansWifiChannel> mr0ap, mr1ap;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1037
+  for (uint32_t i = 0; i < mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1038
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1039
+      // STA (egress), sim0
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1040
+      mac.SetType ("ns3::StaWifiMac",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1041
+                   "Ssid", SsidValue (ssid),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1042
+                   "MaxMissedBeacons", UintegerValue (5),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1043
+                   "ActiveProbing", BooleanValue (false));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1044
+      if (i != 0 && i != 2)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1045
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1046
+          if (useAdhoc == 1)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1047
+            {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1048
+              phy.SetChannel (phyChannel.Create ()); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1049
+            }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1050
+          else
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1051
+            {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1052
+              phy.SetChannel (nextap); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1053
+            }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1054
+          wifi.Install (phy, mac, mr.Get(i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1055
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1056
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1057
+      // Adhoc (EIEI), sim1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1058
+      mac.SetType ("ns3::AdhocWifiMac");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1059
+      if (useAdhoc == 1)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1060
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1061
+          if (mr0adhoc == 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1062
+            {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1063
+              mr0adhoc = phyChannel.Create ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1064
+            }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1065
+          phy.SetChannel (mr0adhoc);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1066
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1067
+      else
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1068
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1069
+          phy.SetChannel (phyChannel.Create ()); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1070
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1071
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1072
+      if (useMobility != 1 || i != 2)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1073
+        wifi.Install (phy, mac, mr.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1074
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1075
+      // AP (ingress), sim2
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1076
+      mac.SetType ("ns3::ApWifiMac", "Ssid", SsidValue (ssid));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1077
+      if (i == 2 || i == 4)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1078
+        phy.SetChannel (mr1ap); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1079
+      else
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1080
+        phy.SetChannel (nextap = phyChannel.Create ()); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1081
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1082
+      if (useMobility != 1 || i != 2)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1083
+        wifi.Install (phy, mac, mr.Get(i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1084
+      if (i == 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1085
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1086
+          mr0ap = nextap;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1087
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1088
+      else if (i == 1)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1089
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1090
+          mr1ap = nextap;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1091
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1092
+      else if (i == 2)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1093
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1094
+          nextap = mr0ap;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1095
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1096
+      else if (i == 4)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1097
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1098
+          nextap = mr1ap;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1099
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1100
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1101
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1102
+  // AR0 Link for CN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1103
+  NetDeviceContainer cn_devices = csma.Install (NodeContainer (arCore.Get (cn_attatch_rtr), cn.Get (0)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1104
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1105
+  // For AR1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1106
+  // csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1107
+  csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (20)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1108
+  csma.Install (NodeContainer (ar.Get (0), ar.Get (1)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1109
+  // For MR0's Egress interface (wifi)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1110
+  phy.SetChannel (mr0sta); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1111
+  wifi.Install (phy, mac, ar.Get (1));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1112
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1113
+  // setup MNN (sta)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1114
+  mac.SetType ("ns3::StaWifiMac",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1115
+               "Ssid", SsidValue (ssid),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1116
+               "ActiveProbing", BooleanValue (false));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1117
+  phy.SetChannel (nextap);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1118
+  NetDeviceContainer mnn_devices = wifi.Install (phy, mac, mnn.Get(0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1119
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1120
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1121
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1122
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1123
+  // ProcessManager Configuration
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1124
+  // 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1125
+  DceManagerHelper processManager;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1126
+  processManager.SetTaskManagerAttribute ("FiberManagerType", 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1127
+                                          EnumValue (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1128
+  processManager.SetAttribute ("MinimizeOpenFiles", BooleanValue (true));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1129
+  //  processManager.SetLoader ("ns3::DlmLoaderFactory");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1130
+  processManager.SetNetworkStack("ns3::LinuxSocketFdFactory",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1131
+				 "Library", StringValue ("libnet-next-2.6.so"));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1132
+  processManager.Install (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1133
+  processManager.Install (ha);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1134
+  processManager.Install (ar);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1135
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1136
+  // Prefix configuration
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1137
+  std::vector <std::string> *ha_links = new std::vector <std::string>;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1138
+  std::vector <std::string> *ar_links = new std::vector <std::string>;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1139
+  std::vector <std::string> *mnps = new std::vector <std::string>;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1140
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1141
+  uint32_t i = 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1142
+  for (i = 0; i < mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1143
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1144
+      std::ostringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1145
+      oss << ha_sim0_base << std::setw(2) << std::setfill('0') << std::hex << i  << "::1/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1146
+      ha_links->push_back (oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1147
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1148
+      oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1149
+      oss << ha_sim0_base << std::setw(2) << std::setfill('0') << std::hex << i << "::2/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1150
+      ar_links->push_back (oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1151
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1152
+      oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1153
+      oss << mnp_base << std::setw(2) << std::setfill('0') << std::hex << i << "::" << (i+16);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1154
+      mnps->push_back (oss.str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1155
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1156
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1157
+  // For HA
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1158
+  for (uint32_t i = 0; i< ha.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1159
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1160
+      // ArCore
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1161
+      AddAddress (arCore.Get (i), Seconds (0.5 * (i + 1)), arCore.Get (i)->GetNDevices () - 1, ar_links->at (i).c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1162
+      std::string gw = ha_links->at (i);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1163
+      gw.replace (gw.find ("/"), 3, "   ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1164
+      std::string dst = mnps->at (i);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1165
+      dst.append ("/64");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1166
+      AddRoute (arCore.Get (i), Seconds (0.5 * (i + 1)), dst.c_str (), gw.c_str (), arCore.Get (i)->GetNDevices () - 1);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1167
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1168
+      if (i == cn_attatch_rtr || i == ar0_attatch_rtr)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1169
+        continue;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1170
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1171
+      // HA
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1172
+      AddAddress (ha.Get (i), Seconds (0.1), 0, ha_links->at (i).c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1173
+      gw = ar_links->at (i);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1174
+      gw.replace (gw.find ("/"), 3, "   ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1175
+      AddRoute (ha.Get (i), Seconds (0.3), "default", gw.c_str (), 0);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1176
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1177
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1178
+  // For AR0 (the intermediate node)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1179
+  AddAddress (ar.Get (0), Seconds (0.05), 1, ar0_mnet.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1180
+  AddAddress (ar.Get (0), Seconds (0.15), 2, (ar0_ar1_link + "2/64").c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1181
+  AddRoute (ar.Get (0), Seconds (mrNodes*0.15+2), ar1_wifi_net.c_str (), (ar0_ar1_link+"3").c_str (), 2);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1182
+  RunIp (ar.Get (0), Seconds (10.15), "route show table all");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1183
+  RunIp (ar.Get (0), Seconds (10.15), "neig show all");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1184
+  RunIp (ar.Get (0), Seconds (10.15), "addr");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1185
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1186
+  // For AR1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1187
+  AddAddress (ar.Get (1), Seconds (0.1), 0, (ar0_ar1_link + "3/64").c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1188
+  AddAddress (ar.Get (1), Seconds (0.1), 1, ar1_wifi_link.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1189
+  AddRoute (ar.Get (1), Seconds (0.15), "default", (ar0_ar1_link + "2").c_str (), 0);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1190
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1191
+  // For MR
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1192
+  for (uint32_t i = 0; i< mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1193
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1194
+      // EI interface 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1195
+      // XXX: we need to add sim1 first since netlink notification won't come sometimes
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1196
+      oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1197
+      oss << mnps->at (i) << "/128";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1198
+      AddAddress (mr.Get (i), Seconds (1.6), 1, oss.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1199
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1200
+      // Egress
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1201
+      RunIp (mr.Get (i), Seconds (0.15), "link set sim0 up");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1202
+      RunIp (mr.Get (i), Seconds (0.2), "link set ip6tnl0 up");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1203
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1204
+      // Ingress
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1205
+      std::string iif = mnps->at (i);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1206
+      oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1207
+      oss << iif << "/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1208
+      AddAddress (mr.Get (i), Seconds (0.4), 2, oss.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1209
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1210
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1211
+  // ARCore and AR0
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1212
+  AddAddress (ar.Get (0), Seconds (0.3), arcore_dev.Get (0)->GetIfIndex (), ar_arcore.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1213
+  std::string gw = ar_arcore2;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1214
+  gw.replace (gw.find ("/"), 3, "   ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1215
+  AddRoute (ar.Get (0), Seconds (0.3), "default", gw.c_str (), arcore_dev.Get (0)->GetIfIndex ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1216
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1217
+  AddAddress (arCore.Get (ar0_attatch_rtr), Seconds (0.3), arcore_dev.Get (1)->GetIfIndex (), ar_arcore2.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1218
+  gw = ar_arcore;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1219
+  gw.replace (gw.find ("/"), 3, "   ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1220
+  AddRoute (arCore.Get (ar0_attatch_rtr), Seconds (0.3), ar0_mnet.c_str (), gw.c_str (), arcore_dev.Get (1)->GetIfIndex ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1221
+  AddRoute (arCore.Get (ar0_attatch_rtr), Seconds (0.4), ar1_wifi_net.c_str (), gw.c_str (), arcore_dev.Get (1)->GetIfIndex ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1222
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1223
+  // Process Configuration
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1224
+  DceApplicationHelper process;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1225
+  ApplicationContainer apps;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1226
+  QuaggaHelper quagga;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1227
+  Mip6dHelper mip6d;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1228
+  if (useAdhoc)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1229
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1230
+      mip6d.SetBinary ("mip6d.natmanemo");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1231
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1232
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1233
+  // HA
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1234
+  for (uint32_t i = 0; i< ha.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1235
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1236
+      mip6d.AddHaServedPrefix (ha.Get (i), Ipv6Address (mnps->at (i).c_str ()), Ipv6Prefix (64));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1237
+      mip6d.EnableHA (ha.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1238
+      mip6d.Install (ha.Get (i));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1239
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1240
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1241
+  // AR
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1242
+  // for MR
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1243
+#ifdef FIXME
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1244
+  quagga.EnableRadvd (ar.Get (0), "sim1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1245
+#endif
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1246
+  // for CN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1247
+#ifdef FIXME
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1248
+  quagga.EnableRadvd (ar.Get (1), "sim1"); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1249
+#endif
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1250
+  quagga.EnableZebraDebug (ar);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1251
+  quagga.Install (ar);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1252
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1253
+  // MR
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1254
+  for (uint32_t i = 0; i< mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1255
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1256
+      mip6d.AddMobileNetworkPrefix (mr.Get (i), Ipv6Address (mnps->at (i).c_str()), Ipv6Prefix (64));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1257
+      std::ostringstream oss;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1258
+      oss << ha_sim0_base << std::setw(2) << std::setfill('0') << std::hex << i << "::1/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1259
+      std::string ha_addr = oss.str();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1260
+      ha_addr.replace (ha_addr.find ("/"), 3, "\0  ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1261
+      mip6d.AddHomeAgentAddress (mr.Get (i), Ipv6Address (ha_addr.c_str ()));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1262
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1263
+      oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1264
+      oss << ha_sim0_base << std::setw(2) << std::setfill('0') << std::hex << i << "::2/64";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1265
+      std::string hoa = oss.str();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1266
+      hoa.replace (hoa.find ("/"), 4, "000\0");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1267
+      mip6d.AddHomeAddress (mr.Get (i), Ipv6Address (hoa.c_str ()), Ipv6Prefix (64));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1268
+      mip6d.AddEgressInterface (mr.Get (i), "sim0");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1269
+      if (i != 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1270
+        mip6d.AddEgressInterface (mr.Get (i), "sim1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1271
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1272
+  mip6d.EnableMR (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1273
+  mip6d.Install (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1274
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1275
+  if (useAdhoc)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1276
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1277
+      quagga.EnableNat (mr.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1278
+      quagga.EnableNat (mr.Get (2));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1279
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1280
+      RunIp (ha.Get (1), Seconds (30.1), "route show table all");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1281
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1282
+      for (uint32_t i = 0; i< mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1283
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1284
+          std::string proxy_addr = ar0_mnet;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1285
+          proxy_addr.replace (proxy_addr.find ("/") - 1, 4, "\0\0\0\0");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1286
+          oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1287
+          oss << "-6 neighbor add proxy " << proxy_addr << std::hex << (i+16) << " dev sim0";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1288
+          RunIp (mr.Get (0), Seconds (20.1 + 0.01 * i), oss.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1289
+          RunIp (mr.Get (2), Seconds (20.1 + 0.01 * i), oss.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1290
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1291
+          proxy_addr = ar1_wifi_link;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1292
+          proxy_addr.replace (proxy_addr.find ("/") - 1, 4, "\0\0\0\0");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1293
+          oss.str ("");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1294
+          oss << "-6 neighbor add proxy " << proxy_addr << std::hex << (i+16) << " dev sim0";
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1295
+          RunIp (mr.Get (0), Seconds (20.1 + 0.01 * i), oss.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1296
+          RunIp (mr.Get (2), Seconds (20.1 + 0.01 * i), oss.str ().c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1297
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1298
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1299
+      RunIp (mr.Get (0), Seconds (100.1), "-6 neighbor");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1300
+      RunIp (mr.Get (2), Seconds (100.1), "-6 neighbor");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1301
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1302
+  else
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1303
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1304
+      RunIp6Tables (mr.Get (0), Seconds (100.1), "-F -t nat");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1305
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1306
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1307
+  for (uint32_t i = 0; i< mr.GetN (); i++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1308
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1309
+      quagga.EnableEgressIF (mr.Get (i), "sim0");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1310
+#ifdef FIXME
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1311
+      quagga.EnableRadvd (mr.Get (i), "sim1"); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1312
+#endif
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1313
+      quagga.EnableEgressIF (mr.Get (i), "sim1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1314
+#ifdef FIXME
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1315
+      quagga.EnableRadvd (mr.Get (i), "sim2"); 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1316
+#endif
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1317
+      RunIp (mr.Get (i), Seconds (200), "route show table all");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1318
+      RunIp (mr.Get (i), Seconds (200), "addr list");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1319
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1320
+  quagga.EnableZebraDebug (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1321
+  quagga.EnableTdpNina (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1322
+  if (!mobilityDebug)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1323
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1324
+      quagga.Install (mr);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1325
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1326
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1327
+  // MNN and CN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1328
+  /* Install IPv4/IPv6 stack */
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1329
+  InternetStackHelper internetv6;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1330
+  internetv6.SetIpv4StackInstall (false);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1331
+  internetv6.Install (mnn);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1332
+  internetv6.Install (cn);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1333
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1334
+  // MNN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1335
+  Ipv6AddressHelper ipv6;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1336
+  Ipv6InterfaceContainer src = ipv6.AssignWithoutAddress (mnn_devices.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1337
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1338
+  // CN
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1339
+  AddAddress (arCore.Get (cn_attatch_rtr), Seconds (0.3), cn_devices.Get (0)->GetIfIndex (), cn_network.c_str ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1340
+  cn_network.replace (cn_network.find ("/") - 1, 4, "\0   ");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1341
+  ipv6.NewNetwork (Ipv6Address (cn_network.c_str ()), 64);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1342
+  Ipv6InterfaceContainer dst = ipv6.Assign (cn_devices.Get (1));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1343
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1344
+  if (doPing)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1345
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1346
+      LogComponentEnable ("Ping6Application", LOG_LEVEL_INFO);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1347
+      // Ping6
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1348
+      uint32_t packetSize = 64;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1349
+      uint32_t maxPacketCount = 5000;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1350
+      Time interPacketInterval = Seconds (ping6_interval);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1351
+      Ping6Helper ping6;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1352
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1353
+      ping6.SetLocal (Ipv6Address::GetAny ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1354
+      ping6.SetRemote (dst.GetAddress (0, 1));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1355
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1356
+      ping6.SetAttribute ("MaxPackets", UintegerValue (maxPacketCount));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1357
+      ping6.SetAttribute ("Interval", TimeValue (interPacketInterval));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1358
+      ping6.SetAttribute ("PacketSize", UintegerValue (packetSize));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1359
+      ApplicationContainer apps = ping6.Install (mnn.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1360
+      apps.Start (Seconds (2.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1361
+      apps.Stop (Seconds (stopTime));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1362
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1363
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1364
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1365
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1366
+  // Pcap
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1367
+  phy.EnablePcapAll ("pcap/mip6d-rf");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1368
+  csma.EnablePcapAll ("pcap/mip6d-rf");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1369
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1370
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1371
+  Simulator::Stop (Seconds (stopTime + 5.0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1372
+  Simulator::Run ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1373
+  Simulator::Destroy ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1374
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1375
+  return 0;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1376
+}
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1377
diff -r a1527ef7aacd example/dce-mip6d.cc
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1378
--- a/example/dce-mip6d.cc	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1379
+++ b/example/dce-mip6d.cc	Thu Mar 29 13:55:22 2012 +0900
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1380
@@ -139,7 +139,7 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1381
   NetDeviceContainer cn_devices = csma.Install (NodeContainer (ar.Get (0), cn.Get (0)));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1382
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1383
   DceManagerHelper processManager;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1384
-  //  processManager.SetLoader ("ns3::DlmLoaderFactory");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1385
+  processManager.SetLoader ("ns3::DlmLoaderFactory");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1386
   processManager.SetNetworkStack("ns3::LinuxSocketFdFactory",
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1387
 				 "Library", StringValue ("libnet-next-2.6.so"));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1388
   processManager.Install (mr);
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1389
diff -r a1527ef7aacd exec_sudo.sh
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1390
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1391
+++ b/exec_sudo.sh	Thu Mar 29 13:55:22 2012 +0900
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1392
@@ -0,0 +1,5 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1393
+#!/bin/bash
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1394
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1395
+ulimit -c unlimited
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1396
+. utils/setenv.sh
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1397
+$1
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1398
diff -r a1527ef7aacd helper/mip6d-helper.cc
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1399
--- a/helper/mip6d-helper.cc	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1400
+++ b/helper/mip6d-helper.cc	Thu Mar 29 13:55:22 2012 +0900
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1401
@@ -92,6 +92,7 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1402
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1403
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1404
 Mip6dHelper::Mip6dHelper ()
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1405
+  : m_binary_file ("mip6d")
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1406
 {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1407
 }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1408
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1409
@@ -279,6 +280,13 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1410
 }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1411
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1412
 void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1413
+Mip6dHelper::SetBinary (std::string binary_file)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1414
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1415
+  m_binary_file = binary_file;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1416
+  return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1417
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1418
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1419
+void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1420
 Mip6dHelper::GenerateConfig (Ptr<Node> node)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1421
 {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1422
   Ptr<Mip6dConfig> mip6d_conf = node->GetObject<Mip6dConfig>();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1423
@@ -434,7 +442,7 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1424
   GenerateConfig (node);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1425
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1426
   process.ResetArguments ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1427
-  process.SetBinary ("mip6d");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1428
+  process.SetBinary (m_binary_file);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1429
   process.ParseArguments ("-c /etc/mip6d.conf -d 10");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1430
   process.SetStackSize (1<<16);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1431
   apps.Add (process.Install (node));
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1432
diff -r a1527ef7aacd helper/mip6d-helper.h
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1433
--- a/helper/mip6d-helper.h	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1434
+++ b/helper/mip6d-helper.h	Thu Mar 29 13:55:22 2012 +0900
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1435
@@ -98,8 +98,10 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1436
   // Common
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1437
   void EnableDebug (NodeContainer nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1438
   void UseManualConfig (NodeContainer nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1439
+  void SetBinary (std::string binary_file);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1440
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1441
 private:
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1442
+  std::string m_binary_file;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1443
   /**
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1444
    * \internal
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1445
    */
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1446
diff -r a1527ef7aacd helper/quagga-helper.cc
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1447
--- a/helper/quagga-helper.cc	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1448
+++ b/helper/quagga-helper.cc	Thu Mar 29 13:55:22 2012 +0900
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1449
@@ -42,7 +42,9 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1450
   QuaggaConfig ()
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1451
     : m_tdpenable (false),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1452
       m_zebradebug (false),
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1453
-      m_usemanualconf (false)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1454
+      m_usemanualconf (false),
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1455
+      m_natenable (false),
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1456
+      m_tdfixed (false)
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1457
   {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1458
     m_radvd_if = new std::map<std::string, std::string> ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1459
     m_egress_if = new std::vector<std::string> ();
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1460
@@ -82,6 +84,8 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1461
   bool m_tdpenable;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1462
   bool m_zebradebug;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1463
   bool m_usemanualconf;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1464
+  bool m_natenable;
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1465
+  bool m_tdfixed;
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1466
   std::map<std::string, std::string> *m_radvd_if;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1467
   std::vector<std::string> *m_egress_if;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1468
   std::vector<std::string> *m_haflag_if;
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1469
@@ -379,6 +383,22 @@
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1470
 }
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1471
 
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1472
 void
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1473
+QuaggaHelper::EnableTdpFixedRouter (NodeContainer nodes)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1474
+{
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1475
+  for (uint32_t i = 0; i < nodes.GetN (); i ++)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1476
+    {
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1477
+      Ptr<QuaggaConfig> zebra_conf = nodes.Get (i)->GetObject<QuaggaConfig>();
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1478
+      if (!zebra_conf)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1479
+        {
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1480
+          zebra_conf = new QuaggaConfig ();
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1481
+          nodes.Get (i)->AggregateObject (zebra_conf);
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1482
+        }
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1483
+      zebra_conf->m_tdfixed = true;
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1484
+    }
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1485
+  return;
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1486
+}
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1487
+
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1488
+void
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1489
 QuaggaHelper::EnableZebraDebug (NodeContainer nodes)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1490
 {
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1491
   for (uint32_t i = 0; i < nodes.GetN (); i ++)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1492
@@ -456,6 +476,22 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1493
   return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1494
 }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1495
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1496
+void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1497
+QuaggaHelper::EnableNat (NodeContainer nodes)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1498
+{
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1499
+  for (uint32_t i = 0; i < nodes.GetN (); i ++)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1500
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1501
+      Ptr<QuaggaConfig> zebra_conf = nodes.Get (i)->GetObject<QuaggaConfig>();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1502
+      if (!zebra_conf)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1503
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1504
+          zebra_conf = new QuaggaConfig ();
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1505
+          nodes.Get (i)->AggregateObject (zebra_conf);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1506
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1507
+      zebra_conf->m_natenable = true;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1508
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1509
+  return;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1510
+}
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1511
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1512
 // BGP
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1513
 void
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1514
 QuaggaHelper::EnableBgp (NodeContainer nodes)
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1515
@@ -548,10 +584,11 @@
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1516
   conf << *zebra_conf;
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1517
   if (zebra_conf->m_zebradebug)
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1518
     {
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1519
-      conf << "debug zebra kernel" << std::endl;
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1520
-      conf << "debug zebra events" << std::endl;
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1521
-      // conf << "debug zebra route" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1522
-      conf << "debug zebra packet" << std::endl;
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1523
+      conf << "debug zebra tree" << std::endl;
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1524
+//      conf << "debug zebra kernel" << std::endl;
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1525
+ //     conf << "debug zebra events" << std::endl;
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1526
+      //      conf << "debug zebra route" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1527
+      //      conf << "debug zebra packet" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1528
     }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1529
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1530
   // radvd
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1531
@@ -560,7 +597,10 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1532
     {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1533
       conf << "interface " << (*i).first << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1534
       conf << " ipv6 nd ra-interval 5" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1535
-      conf << " ipv6 nd prefix " << (*i).second << " 30 15" <<std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1536
+      if ((*i).second.length () != 0)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1537
+        {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1538
+          conf << " ipv6 nd prefix-advertisement " << (*i).second << " 30 15" <<std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1539
+        }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1540
       conf << " no ipv6 nd suppress-ra" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1541
       conf << "!" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1542
     }
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1543
@@ -580,6 +620,7 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1544
     {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1545
       conf << "interface " << (*i) << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1546
       conf << " ipv6 nd td egress" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1547
+      conf << " ipv6 nd td ingress" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1548
       conf << "!" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1549
     }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1550
 
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1551
@@ -590,6 +631,19 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1552
       conf << "interface eth" << *i << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1553
     }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1554
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1555
+  if (zebra_conf->m_tdpenable)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1556
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1557
+      conf << "ipv6 nd nina enable" << std::endl;
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1558
+    }
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1559
+  if (zebra_conf->m_tdfixed)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1560
+    {
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1561
+      conf << "ipv6 nd td fixed" << std::endl;
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1562
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1563
+  if (zebra_conf->m_natenable)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1564
+    {
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1565
+      conf << "ipv6 nat enable" << std::endl;
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1566
+    }
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1567
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1568
 #if 0
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1569
   if (zebra_conf->m_tdpenable)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1570
     {
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1571
@@ -760,10 +814,10 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1572
   GenerateConfigZebra (node);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1573
   process.SetBinary ("zebra");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1574
   process.AddArguments ("-f", zebra_conf->GetFilename ());
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1575
-  process.AddArguments ("-i", "/usr/local/etc/zebra.pid");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1576
+  //  process.AddArguments ("-i", "/usr/local/etc/zebra.pid");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1577
   process.SetStackSize (1<<16);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1578
   apps.Add (process.Install (node));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1579
-  apps.Get(0)->SetStartTime (Seconds (1.0 + 0.01 * node->GetId ()));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1580
+  apps.Get(0)->SetStartTime (Seconds (10.0 + 0.01 * node->GetId ()));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1581
   node->AddApplication (apps.Get (0));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1582
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1583
   Ptr<OspfConfig> ospf_conf = node->GetObject<OspfConfig>();
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1584
diff -r a1527ef7aacd helper/quagga-helper.h
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1585
--- a/helper/quagga-helper.h	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1586
+++ b/helper/quagga-helper.h	Thu Mar 29 13:55:22 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1587
@@ -82,11 +82,13 @@
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1588
   void EnableOspf (NodeContainer nodes);
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1589
   void EnableOspfDebug (NodeContainer nodes);
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1590
   void EnableTdpNina (NodeContainer nodes);
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1591
+  void EnableTdpFixedRouter (NodeContainer nodes);
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1592
   void EnableZebraDebug (NodeContainer nodes);
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1593
   void EnableRadvd (Ptr<Node> node, const char *ifname, const char *prefix);
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1594
   void EnableEgressIF (Ptr<Node> node, const char *ifname);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1595
   void EnableHomeAgentFlag (Ptr<Node> node, const char *ifname);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1596
   void UseManualConfig (NodeContainer nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1597
+  void EnableNat (NodeContainer nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1598
   void EnableBgp (NodeContainer nodes);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1599
   uint32_t GetAsn (Ptr<Node> node);
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1600
   void BgpAddNeighbor (Ptr<Node> node, std::string n, uint32_t asn);
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1601
diff -r a1527ef7aacd model/linux-socket-fd-factory.cc
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1602
--- a/model/linux-socket-fd-factory.cc	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1603
+++ b/model/linux-socket-fd-factory.cc	Thu Mar 29 13:55:22 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1604
@@ -524,7 +524,7 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1605
                                                       this));
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1606
   Set (".net.ipv4.conf.all.forwarding", "1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1607
   Set (".net.ipv4.conf.all.log_martians", "1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1608
-  Set (".net.ipv6.conf.all.forwarding", "1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1609
+  //  Set (".net.ipv6.conf.all.forwarding", "1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1610
   Set (".net.ipv6.conf.all.proxy_ndp", "1");
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1611
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1612
   while (!m_earlySysfs.empty ())
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1613
diff -r a1527ef7aacd test/test-pipe.cc
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1614
--- a/test/test-pipe.cc	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1615
+++ b/test/test-pipe.cc	Thu Mar 29 13:55:22 2012 +0900
2
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1616
@@ -354,7 +354,7 @@
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1617
 
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1618
 
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1619
 int
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1620
-main (int c, char *v)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1621
+main (int c, char **v)
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1622
 {
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1623
   test1 ();
869c2d222f94 update for simcluster exp
Hajime Tazaki <tazaki@nict.go.jp>
parents: 1
diff changeset
  1624
   test2 ();
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1625
diff -r a1527ef7aacd utils/setenv.zsh
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1626
--- a/utils/setenv.zsh	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1627
+++ b/utils/setenv.zsh	Thu Mar 29 13:55:22 2012 +0900
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1628
@@ -5,7 +5,7 @@
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1629
 BASE=$PWD
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1630
 LD_LIBRARY_PATH="$BASE/ns-3-dce/build/lib:$BASE/build/lib:$BASE/build/bin:$BASE/ns-3-dce/build/bin:."
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1631
 PKG_CONFIG_PATH="$BASE/build/lib/pkgconfig"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1632
-PATH="$PATH:$BASE/build/bin:$BASE/build/sbin:/home/tazaki/hgworks/ns-3-dce-thehajime/build/bin:/home/tazaki/hgworks/ns-3-dce-thehajime/build/sbin"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1633
+PATH="$BASE/build/bin:$BASE/build/sbin:/home/tazaki/hgworks/ns-3-dce-thehajime/build/bin:/home/tazaki/hgworks/ns-3-dce-thehajime/build/sbin:$PATH"
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1634
 PYTHONPATH=$BASE/ns-3-dev/build/debug/bindings/python:$BASE/ns-3-dev/src/visualizer:$BASE/pybindgen-0.15.0.795:$BASE/build/lib/python2.6/site-packages/
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1635
 export LD_LIBRARY_PATH PKG_CONFIG_PATH PATH PYTHONPATH
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1636
 cd $BASE/ns-3-dce
11
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1637
diff -r a1527ef7aacd wscript
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1638
--- a/wscript	Thu Mar 29 13:55:03 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1639
+++ b/wscript	Thu Mar 29 13:55:22 2012 +0900
ce3a1f87be3d merge with HEAD
Hajime Tazaki <tazaki@nict.go.jp>
parents: 5
diff changeset
  1640
@@ -277,6 +277,14 @@
1
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1641
                        target='bin/dce-dsmip6d',
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1642
                        source=['example/dce-dsmip6d.cc'])
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1643
 
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1644
+    module.add_example(needed = ['core', 'internet', 'dce', 'csma', 'mobility', 'wifi', 'visualizer', 'topology-read'],
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1645
+                       target='bin/dce-fga',
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1646
+                       source=['example/dce-fga.cc'])
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1647
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1648
+    module.add_example(needed = ['core', 'internet', 'dce', 'csma', 'mobility', 'wifi', 'visualizer', 'topology-read'],
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1649
+                       target='bin/dce-fga-crawdad',
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1650
+                       source=['example/dce-fga-crawdad.cc'])
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1651
+
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1652
 def build(bld):
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1653
     build_netlink(bld)
8604b19f35e5 update for USENIX ATC 2012
Hajime Tazaki <tazaki@nict.go.jp>
parents:
diff changeset
  1654