Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(41)

Delta Between Two Patch Sets: src/internet/wscript

Issue 283880043: SACK implementation
Left Patch Set: Fixing Tom's comments on style and uploading full scoreboard implementation Created 8 years, 3 months ago
Right Patch Set: Fixing to ensure the patch can be applied on ns-3.24 Created 7 years, 11 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « src/internet/test/tcp-sack-test.cc ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 ## - *-Mode : python; 1 ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
2 py - indent - offset : 4;
3 indent - tabs - mode : nil;
4 coding : utf - 8;
5 -*-
6 import os 2 import os
7 import sys 3 import sys
8 4
9 from waflib import Options, Logs, Utils, Task 5 from waflib import Options, Logs, Utils, Task
10 6
11 7
12 # Required NSC version 8 # Required NSC version
13 NSC_RELEASE_NAME = "nsc-0.5.3" 9 NSC_RELEASE_NAME = "nsc-0.5.3"
14 10
15 11
16 def options (opt) 12 def options(opt):
17 : opt.add_option ('--with-nsc', 13 opt.add_option('--with-nsc',
18 help = ('Use Network Simulation Cradle, given by the indic ated path,' 14 help=('Use Network Simulation Cradle, given by the indicated path,'
19 ' to allow the use of real-world network stacks'), 15 ' to allow the use of real-world network stacks'),
20 default = '', dest = 'with_nsc') 16 default='', dest='with_nsc')
21 opt.add_option ('--disable-nsc', 17 opt.add_option('--disable-nsc',
22 help = ('Disable Network Simulation Cradle support'), 18 help=('Disable Network Simulation Cradle support'),
23 dest = 'disable_nsc', default = False, action = "store_tru e") 19 dest='disable_nsc', default=False, action="store_true")
24 20
25 def configure (conf) 21 def configure(conf):
26 : conf.env['ENABLE_NSC'] = False 22 conf.env['ENABLE_NSC'] = False
27 23
28 if Options.options.disable_nsc 24 if Options.options.disable_nsc:
29 : conf.report_optional_feature ("nsc", "Network Simulation Cradle", False, 25 conf.report_optional_feature("nsc", "Network Simulation Cradle", False,
30 "disabled by user request") 26 "disabled by user request")
31 return 27 return
32 28
33 # checks for flex and bison, which is needed to build NSCs globaliser 29 # checks for flex and bison, which is needed to build NSCs globaliser
34 # TODO : how to move these checks into the allinone scripts? 30 # TODO: how to move these checks into the allinone scripts?
35 #def check_nsc_buildutils(): 31 #def check_nsc_buildutils():
36 # import flex 32 # import flex
37 # import bison 33 # import bison
38 # conf .check_tool('flex bison') 34 # conf.check_tool('flex bison')
39 # conf .check(lib='fl', mandatory=True) 35 # conf.check(lib='fl', mandatory=True)
40 36
41 # Check for the location of NSC 37 # Check for the location of NSC
42 lib_to_check = 'liblinux2.6.26.so' 38 lib_to_check = 'liblinux2.6.26.so'
43 if Options.options.with_nsc 39 if Options.options.with_nsc:
44 : if os.path.isdir (Options.options.with_nsc) 40 if os.path.isdir(Options.options.with_nsc):
45 : conf.msg ("Checking for NSC location", ("%s (given)" % Options.options.with_nsc)) 41 conf.msg("Checking for NSC location", ("%s (given)" % Options.option s.with_nsc))
46 conf.env['WITH_NSC'] = os.path.abspath (Options.option s.with_nsc) 42 conf.env['WITH_NSC'] = os.path.abspath(Options.options.with_nsc)
47 else 43 else:
48 : 44 # bake.py uses ../../build, while ns-3-dev uses ../nsc,
49 # bake .py uses ../../build, while ns-3-dev uses ../nsc,
50 # and ns-3 release uses ../NSC_RELEASE_NAME 45 # and ns-3 release uses ../NSC_RELEASE_NAME
51 nsc_bake_build_dir = os.path.join ('..', '..', 'bu ild') 46 nsc_bake_build_dir = os.path.join('..', '..', 'build')
52 nsc_bake_lib_dir = os.path.join (nsc_bake_build_ dir, 'lib') 47 nsc_bake_lib_dir = os.path.join(nsc_bake_build_dir, 'lib')
53 nsc_dir = os.path.join ('..', "nsc") 48 nsc_dir = os.path.join('..', "nsc")
54 nsc_release_dir = os.path.join ('..', NSC_RE LEASE_NAME) 49 nsc_release_dir = os.path.join('..', NSC_RELEASE_NAME)
55 if os.path.exists (os.path.join (nsc_bake_ lib_dir, lib_to_check)) 50 if os.path.exists(os.path.join(nsc_bake_lib_dir, lib_to_check)):
56 : conf.msg ("Checking for NSC location", ("%s (guessed)" % nsc_bake_build_dir)) 51 conf.msg("Checking for NSC location",("%s (guessed)" % nsc_bake_buil d_dir))
57 conf.env['WITH_NSC'] = os.path.abspath (nsc_bake_build_dir) 52 conf.env['WITH_NSC'] = os.path.abspath(nsc_bake_build_dir)
58 elif os.path.isdir (nsc_dir) 53 elif os.path.isdir(nsc_dir):
59 : conf.msg ("Checking for NSC loca tion",("%s (guessed)" % nsc_dir)) 54 conf.msg("Checking for NSC location",("%s (guessed)" % nsc_dir))
60 conf.env['WITH_NSC'] = os.path.a bspath (nsc_dir) 55 conf.env['WITH_NSC'] = os.path.abspath(nsc_dir)
61 elif os.path.isdir (nsc_releas e_dir) 56 elif os.path.isdir(nsc_release_dir):
62 : conf.msg ("Checking for NS C location", ("%s (guessed)" % nsc_release_dir)) 57 conf.msg("Checking for NSC location", ("%s (guessed)" % nsc_release_ dir))
63 conf.env['WITH_NSC'] = os. path.abspath (nsc_release_dir) 58 conf.env['WITH_NSC'] = os.path.abspath(nsc_release_dir)
64 del nsc_bake_build_dir 59 del nsc_bake_build_dir
65 del nsc_bake_lib_dir 60 del nsc_bake_lib_dir
66 del nsc_dir 61 del nsc_dir
67 del nsc_release_dir 62 del nsc_release_dir
68 63
69 if not conf.env['WITH_NS C'] 64 if not conf.env['WITH_NSC']:
70 : conf.msg ("Checking for NSC location", False) 65 conf.msg("Checking for NSC location", False)
71 conf.report_optional _feature ("nsc", "Network Simulation Cradle", False, 66 conf.report_optional_feature("nsc", "Network Simulation Cradle", False,
72 "NSC not found (see option --with-nsc)") 67 "NSC not found (see option --with-nsc)")
73 return 68 return
74 69 ····
75 if Options.platfor m in ['linux', 'freebsd'] 70 if Options.platform in ['linux', 'freebsd']:
76 : arch = os.unam e ()[4] 71 arch = os.uname()[4]
77 else 72 else:
78 : 73 arch = None
79 arch = None 74 ok = False
80 ok = False 75 if arch in ('amd64', 'x86_64', 'i686', 'i586', 'i486', 'i386'):
81 if arch in ('amd64', 'x86_64', 'i686', 'i586', 'i486', 'i386') 76 conf.env['NSC_ENABLED'] = True
82 : conf .env['NSC_ENABLED'] = True 77 conf.env.append_value('CXXDEFINES', 'NETWORK_SIMULATION_CRADLE')
83 conf .env.append_value ('CXXDEFINES', 'NETWORK_SIMULATION_CRADLE') 78 conf.check_nonfatal(mandatory=True, lib='dl', define_name='HAVE_DL', use lib_store='DL')
84 conf .check_nonfatal (mandatory = True, lib = 'dl', define_name = 'HAVE_DL', uselib_s tore = 'DL') 79 ok = True
85 ok = True 80 conf.msg('Checking for NSC supported architecture ' + (arch or ''), ok)
86 co nf.msg ('Checking for NSC supported architecture ' + (arch or ''), ok) 81 ····
87 82 if not ok:
88 if not ok 83 conf.env['NSC_ENABLED'] = False
89 : conf.env['NSC_ENABLED'] = False 84 conf.report_optional_feature("nsc", "Network Simulation Cradle", False,
90 conf.report_optional_feature ("nsc", "Network Simulation Cradle", False, 85 "architecture %r not supported" % arch)
91 "architecture %r not supported" % arch) 86 return
92 return 87
93 88 found = False
94 found = False 89 for path in ['.', 'lib', 'lib64', 'linux-2.6.26']:
95 for path in ['.', 'lib', 'lib64', 'linux-2.6.26'] 90 if os.path.exists(os.path.join(conf.env['WITH_NSC'], path, lib_to_check) ):
96 : if os.path.exists (os.path.join (conf.env['WITH_NSC'], path, lib_to_ch eck)) :
97 # append the NSC kernel dir to the module path so that this dir 91 # append the NSC kernel dir to the module path so that this dir
98 # will end up in the LD_LIBRARY_PATH, thus allowing the NSC NS-3 92 # will end up in the LD_LIBRARY_PATH, thus allowing the NSC NS-3
99 # module to find the necessary NSC shared libraries. 93 # module to find the necessary NSC shared libraries.
100 found = True 94 found = True
101 conf.env.append_value ('NS3_MODULE_PATH', 95 conf.env.append_value('NS3_MODULE_PATH',
102 os.path.abspath (os.path.join (conf.env['WITH _NSC'], path))) 96 os.path.abspath(os.path.join(conf.env['WITH_NS C'], path)))
103 if not found 97 if not found:
104 : conf.env['NSC_ENABLED'] = False 98 conf.env['NSC_ENABLED'] = False
105 conf.report_optional_feature ("nsc", "Network Simulation Cradle" , False, 99 conf.report_optional_feature("nsc", "Network Simulation Cradle", False,
106 "NSC library %s is missing: NSC ha s not been built?" % lib_to_check) 100 "NSC library %s is missing: NSC has not bee n built?" % lib_to_check)
107 else 101 else:
108 : 102 conf.report_optional_feature("nsc", "Network Simulation Cradle", True, " ")
109 conf.report_optional_feature ("nsc", "Network Simulation Cradl e", True, "") 103
110 104
111 105 def build(bld):
112 def build (bld) :
113 # bridge and mpi dependencies are due to global routing 106 # bridge and mpi dependencies are due to global routing
114 obj = bld.create_ns3_module ('internet', ['bridge', 'mpi', ' network', 'core']) 107 obj = bld.create_ns3_module('internet', ['bridge', 'mpi', 'network', 'core'] )
115 obj.source = [ 108 obj.source = [
116 'model/ip-l4-protocol.cc', 109 'model/ip-l4-protocol.cc',
117 'model/udp-header.cc', 110 'model/udp-header.cc',
118 'model/tcp-header.cc', 111 'model/tcp-header.cc',
119 'model/ipv4-interface.cc', 112 'model/ipv4-interface.cc',
120 'model/ipv4-l3-protocol.cc', 113 'model/ipv4-l3-protocol.cc',
121 'model/ipv4-end-point.cc', 114 'model/ipv4-end-point.cc',
122 'model/udp-l4-protocol.cc', 115 'model/udp-l4-protocol.cc',
123 'model/tcp-l4-protocol.cc', 116 'model/tcp-l4-protocol.cc',
124 'model/arp-header.cc', 117 'model/arp-header.cc',
125 'model/arp-cache.cc', 118 'model/arp-cache.cc',
126 'model/arp-l3-protocol.cc', 119 'model/arp-l3-protocol.cc',
127 'model/udp-socket-impl.cc', 120 'model/udp-socket-impl.cc',
128 'model/ipv4-end-point-demux.cc', 121 'model/ipv4-end-point-demux.cc',
129 'model/udp-socket-factory-impl.cc', 122 'model/udp-socket-factory-impl.cc',
130 'model/tcp-socket-factory-impl.cc', 123 'model/tcp-socket-factory-impl.cc',
131 'model/pending-data.cc', 124 'model/pending-data.cc',
132 'model/rtt-estimator.cc', 125 'model/rtt-estimator.cc',
133 'model/ipv4-raw-socket-factory-impl.cc', 126 'model/ipv4-raw-socket-factory-impl.cc',
134 'model/ipv4-raw-socket-impl.cc', 127 'model/ipv4-raw-socket-impl.cc',
135 'model/icmpv4.cc', 128 'model/icmpv4.cc',
136 'model/icmpv4-l4-protocol.cc', 129 'model/icmpv4-l4-protocol.cc',
137 'model/loopback-net-device.cc', 130 'model/loopback-net-device.cc',
138 'model/ndisc-cache.cc', 131 'model/ndisc-cache.cc',
139 'model/ipv6-interface.cc', 132 'model/ipv6-interface.cc',
140 'model/icmpv6-header.cc', 133 'model/icmpv6-header.cc',
141 'model/ipv6-l3-protocol.cc', 134 'model/ipv6-l3-protocol.cc',
142 'model/ipv6-end-point.cc', 135 'model/ipv6-end-point.cc',
143 'model/ipv6-end-point-demux.cc', 136 'model/ipv6-end-point-demux.cc',
144 'model/ipv6-raw-socket-factory-impl.cc', 137 'model/ipv6-raw-socket-factory-impl.cc',
145 'model/ipv6-raw-socket-impl.cc', 138 'model/ipv6-raw-socket-impl.cc',
146 'model/ipv6-autoconfigured-prefix.cc', 139 'model/ipv6-autoconfigured-prefix.cc',
147 'model/ipv6-extension.cc', 140 'model/ipv6-extension.cc',
148 'model/ipv6-extension-header.cc', 141 'model/ipv6-extension-header.cc',
149 'model/ipv6-extension-demux.cc', 142 'model/ipv6-extension-demux.cc',
150 'model/ipv6-option.cc', 143 'model/ipv6-option.cc',
151 'model/ipv6-option-header.cc', 144 'model/ipv6-option-header.cc',
152 'model/ipv6-option-demux.cc', 145 'model/ipv6-option-demux.cc',
153 'model/icmpv6-l4-protocol.cc', 146 'model/icmpv6-l4-protocol.cc',
154 'model/tcp-socket-base.cc', 147 'model/tcp-socket-base.cc',
155 'model/tcp-highspeed.cc', 148 'model/tcp-highspeed.cc',
156 'model/tcp-hybla.cc', 149 'model/tcp-hybla.cc',
157 'model/tcp-congestion-ops.cc', 150 'model/tcp-congestion-ops.cc',
158 'model/tcp-westwood.cc', 151 'model/tcp-westwood.cc',
159 'model/tcp-rx-buffer.cc', 152 'model/tcp-rx-buffer.cc',
160 'model/tcp-tx-buffer.cc', 153 'model/tcp-tx-buffer.cc',
161 'model/tcp-scoreboard.cc', 154 'model/tcp-scoreboard.cc',·
162 'model/tcp-option.cc', 155 'model/tcp-option.cc',
163 'model/tcp-option-rfc793.cc', 156 'model/tcp-option-rfc793.cc',
164 'model/tcp-option-winscale.cc', 157 'model/tcp-option-winscale.cc',
165 'model/tcp-option-sack-permitted.cc', 158 'model/tcp-option-sack-permitted.cc',
166 'model/tcp-option-sack.cc', 159 'model/tcp-option-sack.cc',·
167 'model/tcp-option-ts.cc', 160 'model/tcp-option-ts.cc',
168 'model/ipv4-packet-info-tag.cc', 161 'model/ipv4-packet-info-tag.cc',
169 'model/ipv6-packet-info-tag.cc', 162 'model/ipv6-packet-info-tag.cc',
170 'model/ipv4-interface-address.cc', 163 'model/ipv4-interface-address.cc',
171 'model/ipv4-address-generator.cc', 164 'model/ipv4-address-generator.cc',
172 'model/ipv4-header.cc', 165 'model/ipv4-header.cc',
173 'model/ipv4-route.cc', 166 'model/ipv4-route.cc',
174 'model/ipv4-routing-protocol.cc', 167 'model/ipv4-routing-protocol.cc',
175 'model/udp-socket.cc', 168 'model/udp-socket.cc',
176 'model/udp-socket-factory.cc', 169 'model/udp-socket-factory.cc',
177 'model/tcp-socket.cc', 170 'model/tcp-socket.cc',
178 'model/tcp-socket-factory.cc', 171 'model/tcp-socket-factory.cc',
179 'model/ipv4.cc', 172 'model/ipv4.cc',
180 'model/ipv4-raw-socket-factory.cc', 173 'model/ipv4-raw-socket-factory.cc',
181 'model/ipv6-header.cc', 174 'model/ipv6-header.cc',
182 'model/ipv6-interface-address.cc', 175 'model/ipv6-interface-address.cc',
183 'model/ipv6-route.cc', 176 'model/ipv6-route.cc',
184 'model/ipv6.cc', 177 'model/ipv6.cc',
185 'model/ipv6-raw-socket-factory.cc', 178 'model/ipv6-raw-socket-factory.cc',
186 'model/ipv6-routing-protocol.cc', 179 'model/ipv6-routing-protocol.cc',
187 'model/ipv4-list-routing.cc', 180 'model/ipv4-list-routing.cc',
188 'model/ipv6-list-routing.cc', 181 'model/ipv6-list-routing.cc',
189 'helper/ipv4-list-routing-helper.cc', 182 'helper/ipv4-list-routing-helper.cc',
190 'helper/ipv6-list-routing-helper.cc', 183 'helper/ipv6-list-routing-helper.cc',
191 'model/ipv4-static-routing.cc', 184 'model/ipv4-static-routing.cc',
192 'model/ipv4-routing-table-entry.cc', 185 'model/ipv4-routing-table-entry.cc',
193 'model/ipv6-static-routing.cc', 186 'model/ipv6-static-routing.cc',
194 'model/ipv6-routing-table-entry.cc', 187 'model/ipv6-routing-table-entry.cc',
195 'helper/ipv4-static-routing-helper.cc', 188 'helper/ipv4-static-routing-helper.cc',
196 'helper/ipv6-static-routing-helper.cc', 189 'helper/ipv6-static-routing-helper.cc',
197 'model/global-router-interface.cc', 190 'model/global-router-interface.cc',
198 'model/global-route-manager.cc', 191 'model/global-route-manager.cc',
199 'model/global-route-manager-impl.cc', 192 'model/global-route-manager-impl.cc',
200 'model/candidate-queue.cc', 193 'model/candidate-queue.cc',
201 'model/codel-queue.cc', 194 'model/codel-queue.cc',
202 'model/ipv4-global-routing.cc', 195 'model/ipv4-global-routing.cc',
203 'helper/ipv4-global-routing-helper.cc', 196 'helper/ipv4-global-routing-helper.cc',
204 'helper/internet-stack-helper.cc', 197 'helper/internet-stack-helper.cc',
205 'helper/internet-trace-helper.cc', 198 'helper/internet-trace-helper.cc',
206 'helper/ipv4-address-helper.cc', 199 'helper/ipv4-address-helper.cc',
207 'helper/ipv4-interface-container.cc', 200 'helper/ipv4-interface-container.cc',
208 'helper/ipv4-routing-helper.cc', 201 'helper/ipv4-routing-helper.cc',
209 'helper/ipv6-address-helper.cc', 202 'helper/ipv6-address-helper.cc',
210 'helper/ipv6-interface-container.cc', 203 'helper/ipv6-interface-container.cc',
211 'helper/ipv6-routing-helper.cc', 204 'helper/ipv6-routing-helper.cc',
212 'model/ipv6-address-generator.cc', 205 'model/ipv6-address-generator.cc',
213 'model/ipv4-packet-probe.cc', 206 'model/ipv4-packet-probe.cc',
214 'model/ipv6-packet-probe.cc', 207 'model/ipv6-packet-probe.cc',
215 'model/ipv6-pmtu-cache.cc', 208 'model/ipv6-pmtu-cache.cc',
216 'model/ripng.cc', 209 'model/ripng.cc',
217 'model/ripng-header.cc', 210 'model/ripng-header.cc',
218 'helper/ripng-helper.cc', 211 'helper/ripng-helper.cc',
219 ] 212 ]
220 213
221 internet_test = bld.create_ns3_module_test_library ('interne t') 214 internet_test = bld.create_ns3_module_test_library('internet')
222 internet_test.source = [ 215 internet_test.source = [
223 'test/global-route-manager-impl-test-suite.cc', 216 'test/global-route-manager-impl-test-suite.cc',
224 'test/ipv4-address-generator-test-suite.cc', 217 'test/ipv4-address-generator-test-suite.cc',
225 'test/ipv4-address-helper-test-suite.cc', 218 'test/ipv4-address-helper-test-suite.cc',
226 'test/ipv4-list-routing-test-suite.cc', 219 'test/ipv4-list-routing-test-suite.cc',
227 'test/ipv4-packet-info-tag-test-suite.cc', 220 'test/ipv4-packet-info-tag-test-suite.cc',
228 'test/ipv4-raw-test.cc', 221 'test/ipv4-raw-test.cc',
229 'test/ipv4-header-test.cc', 222 'test/ipv4-header-test.cc',
230 'test/ipv4-fragmentation-test.cc', 223 'test/ipv4-fragmentation-test.cc',
231 'test/ipv4-forwarding-test.cc', 224 'test/ipv4-forwarding-test.cc',
232 'test/error-channel.cc', 225 'test/error-channel.cc',
233 'test/ipv4-test.cc', 226 'test/ipv4-test.cc',
234 'test/ipv4-static-routing-test-suite.cc', 227 'test/ipv4-static-routing-test-suite.cc',
235 'test/ipv4-global-routing-test-suite.cc', 228 'test/ipv4-global-routing-test-suite.cc',
236 'test/ipv6-extension-header-test-suite.cc', 229 'test/ipv6-extension-header-test-suite.cc',
237 'test/ipv6-list-routing-test-suite.cc', 230 'test/ipv6-list-routing-test-suite.cc',
238 'test/ipv6-packet-info-tag-test-suite.cc', 231 'test/ipv6-packet-info-tag-test-suite.cc',
239 'test/ipv6-test.cc', 232 'test/ipv6-test.cc',
240 'test/ipv6-raw-test.cc', 233 'test/ipv6-raw-test.cc',
241 'test/tcp-test.cc', 234 'test/tcp-test.cc',
242 'test/tcp-timestamp-test.cc', 235 'test/tcp-timestamp-test.cc',
243 'test/tcp-wscaling-test.cc', 236 'test/tcp-wscaling-test.cc',
244 'test/tcp-sack-test.cc', 237 'test/tcp-sack-test.cc',
245 'test/tcp-option-test.cc', 238 'test/tcp-option-test.cc',
246 'test/tcp-header-test.cc', 239 'test/tcp-header-test.cc',
247 'test/tcp-general-test.cc', 240 'test/tcp-general-test.cc',
248 'test/tcp-error-model.cc', 241 'test/tcp-error-model.cc',
249 'test/tcp-slow-start-test.cc', 242 'test/tcp-slow-start-test.cc',
250 'test/tcp-cong-avoid-test.cc', 243 'test/tcp-cong-avoid-test.cc',
251 'test/tcp-fast-retr-test.cc', 244 'test/tcp-fast-retr-test.cc',
252 'test/tcp-rto-test.cc', 245 'test/tcp-rto-test.cc',
253 'test/tcp-highspeed-test.cc', 246 'test/tcp-highspeed-test.cc',
254 'test/tcp-hybla-test.cc', 247 'test/tcp-hybla-test.cc',
255 'test/tcp-zero-window-test.cc', 248 'test/tcp-zero-window-test.cc',
256 'test/udp-test.cc', 249 'test/udp-test.cc',
257 'test/ipv6-address-generator-test-suite.cc', 250 'test/ipv6-address-generator-test-suite.cc',
258 'test/ipv6-dual-stack-test-suite.cc', 251 'test/ipv6-dual-stack-test-suite.cc',
259 'test/ipv6-fragmentation-test.cc', 252 'test/ipv6-fragmentation-test.cc',
260 'test/ipv6-forwarding-test.cc', 253 'test/ipv6-forwarding-test.cc',
261 'test/ipv6-ripng-test.cc', 254 'test/ipv6-ripng-test.cc',
262 'test/ipv6-address-helper-test-suite.cc', 255 'test/ipv6-address-helper-test-suite.cc',
263 'test/rtt-test.cc', 256 'test/rtt-test.cc',
264 'test/codel-queue-test-suite.cc', 257 'test/codel-queue-test-suite.cc',
265 'test/tcp-endpoint-bug2211.cc', 258 'test/tcp-endpoint-bug2211.cc',
266 ] 259 ]
267 privateheaders = bld (features = 'ns3privateheader') 260 privateheaders = bld(features='ns3privateheader')
268 privateheaders.module = 'internet' 261 privateheaders.module = 'internet'
269 privateheaders.source = [ 262 privateheaders.source = [
270 'model/tcp-option-winscale.h', 263 'model/tcp-option-winscale.h',
271 'model/tcp-option-ts.h', 264 'model/tcp-option-ts.h',
272 'model/tcp-option-rfc793.h', 265 'model/tcp-option-rfc793.h',
273 'model/tcp-option-sack.h', 266 'model/tcp-option-sack.h',
274 'model/tcp-option-sack-permitted.h', 267 'model/tcp-option-sack-permitted.h',
275 ] 268 ]
276 headers = bld (features = 'ns3header') 269 headers = bld(features='ns3header')
277 headers.module = 'internet' 270 headers.module = 'internet'
278 headers.source = [ 271 headers.source = [
279 'model/udp-header.h', 272 'model/udp-header.h',
280 'model/tcp-header.h', 273 'model/tcp-header.h',
281 'model/tcp-option.h', 274 'model/tcp-option.h',
282 'model/icmpv4.h', 275 'model/icmpv4.h',
283 'model/icmpv6-header.h', 276 'model/icmpv6-header.h',
284 # used by routing 277 # used by routing
285 'model/ipv4-interface.h', 278 'model/ipv4-interface.h',
286 'model/ipv4-l3-protocol.h', 279 'model/ipv4-l3-protocol.h',
287 'model/ipv6-l3-protocol.h', 280 'model/ipv6-l3-protocol.h',
288 'model/ipv6-extension.h', 281 'model/ipv6-extension.h',
289 'model/ipv6-extension-demux.h', 282 'model/ipv6-extension-demux.h',
290 'model/ipv6-extension-header.h', 283 'model/ipv6-extension-header.h',
291 'model/ipv6-option-header.h', 284 'model/ipv6-option-header.h',
292 'model/arp-l3-protocol.h', 285 'model/arp-l3-protocol.h',
293 'model/udp-l4-protocol.h', 286 'model/udp-l4-protocol.h',
294 'model/tcp-l4-protocol.h', 287 'model/tcp-l4-protocol.h',
295 'model/icmpv4-l4-protocol.h', 288 'model/icmpv4-l4-protocol.h',
296 'model/ip-l4-protocol.h', 289 'model/ip-l4-protocol.h',
297 'model/arp-header.h', 290 'model/arp-header.h',
298 'model/arp-cache.h', 291 'model/arp-cache.h',
299 'model/icmpv6-l4-protocol.h', 292 'model/icmpv6-l4-protocol.h',
300 'model/ipv6-interface.h', 293 'model/ipv6-interface.h',
301 'model/ndisc-cache.h', 294 'model/ndisc-cache.h',
302 'model/loopback-net-device.h', 295 'model/loopback-net-device.h',
303 'model/ipv4-packet-info-tag.h', 296 'model/ipv4-packet-info-tag.h',
304 'model/ipv6-packet-info-tag.h', 297 'model/ipv6-packet-info-tag.h',
305 'model/ipv4-interface-address.h', 298 'model/ipv4-interface-address.h',
306 'model/ipv4-address-generator.h', 299 'model/ipv4-address-generator.h',
307 'model/ipv4-header.h', 300 'model/ipv4-header.h',
308 'model/ipv4-route.h', 301 'model/ipv4-route.h',
309 'model/ipv4-routing-protocol.h', 302 'model/ipv4-routing-protocol.h',
310 'model/udp-socket.h', 303 'model/udp-socket.h',
311 'model/udp-socket-factory.h', 304 'model/udp-socket-factory.h',
312 'model/tcp-socket.h', 305 'model/tcp-socket.h',
313 'model/tcp-socket-factory.h', 306 'model/tcp-socket-factory.h',
314 'model/ipv4.h', 307 'model/ipv4.h',
315 'model/ipv4-raw-socket-factory.h', 308 'model/ipv4-raw-socket-factory.h',
316 'model/ipv4-raw-socket-impl.h', 309 'model/ipv4-raw-socket-impl.h',
317 'model/ipv6-header.h', 310 'model/ipv6-header.h',
318 'model/ipv6-interface-address.h', 311 'model/ipv6-interface-address.h',
319 'model/ipv6-route.h', 312 'model/ipv6-route.h',
320 'model/ipv6.h', 313 'model/ipv6.h',
321 'model/ipv6-raw-socket-factory.h', 314 'model/ipv6-raw-socket-factory.h',
322 'model/ipv6-routing-protocol.h', 315 'model/ipv6-routing-protocol.h',
323 'model/ipv4-list-routing.h', 316 'model/ipv4-list-routing.h',
324 'model/ipv6-list-routing.h', 317 'model/ipv6-list-routing.h',
325 'helper/ipv4-list-routing-helper.h', 318 'helper/ipv4-list-routing-helper.h',
326 'helper/ipv6-list-routing-helper.h', 319 'helper/ipv6-list-routing-helper.h',
327 'model/ipv4-static-routing.h', 320 'model/ipv4-static-routing.h',
328 'model/ipv4-routing-table-entry.h', 321 'model/ipv4-routing-table-entry.h',
329 'model/ipv6-static-routing.h', 322 'model/ipv6-static-routing.h',
330 'model/ipv6-routing-table-entry.h', 323 'model/ipv6-routing-table-entry.h',
331 'helper/ipv4-static-routing-helper.h', 324 'helper/ipv4-static-routing-helper.h',
332 'helper/ipv6-static-routing-helper.h', 325 'helper/ipv6-static-routing-helper.h',
333 'model/global-router-interface.h', 326 'model/global-router-interface.h',
334 'model/global-route-manager.h', 327 'model/global-route-manager.h',
335 'model/global-route-manager-impl.h', 328 'model/global-route-manager-impl.h',
336 'model/candidate-queue.h', 329 'model/candidate-queue.h',
337 'model/codel-queue.h', 330 'model/codel-queue.h',
338 'model/ipv4-global-routing.h', 331 'model/ipv4-global-routing.h',
339 'helper/ipv4-global-routing-helper.h', 332 'helper/ipv4-global-routing-helper.h',
340 'helper/internet-stack-helper.h', 333 'helper/internet-stack-helper.h',
341 'helper/internet-trace-helper.h', 334 'helper/internet-trace-helper.h',
342 'helper/ipv4-address-helper.h', 335 'helper/ipv4-address-helper.h',
343 'helper/ipv4-interface-container.h', 336 'helper/ipv4-interface-container.h',
344 'helper/ipv4-routing-helper.h', 337 'helper/ipv4-routing-helper.h',
345 'helper/ipv6-address-helper.h', 338 'helper/ipv6-address-helper.h',
346 'helper/ipv6-interface-container.h', 339 'helper/ipv6-interface-container.h',
347 'helper/ipv6-routing-helper.h', 340 'helper/ipv6-routing-helper.h',
348 'model/ipv6-address-generator.h', 341 'model/ipv6-address-generator.h',
349 'model/tcp-highspeed.h', 342 'model/tcp-highspeed.h',
350 'model/tcp-hybla.h', 343 'model/tcp-hybla.h',
351 'model/tcp-congestion-ops.h', 344 'model/tcp-congestion-ops.h',
352 'model/tcp-westwood.h', 345 'model/tcp-westwood.h',
353 'model/tcp-socket-base.h', 346 'model/tcp-socket-base.h',
354 'model/tcp-tx-buffer.h', 347 'model/tcp-tx-buffer.h',
355 'model/tcp-rx-buffer.h', 348 'model/tcp-rx-buffer.h',
356 'model/tcp-scoreboard.h', 349 'model/tcp-scoreboard.h',·
357 'model/rtt-estimator.h', 350 'model/rtt-estimator.h',
358 'model/ipv4-packet-probe.h', 351 'model/ipv4-packet-probe.h',
359 'model/ipv6-packet-probe.h', 352 'model/ipv6-packet-probe.h',
360 'model/ipv6-pmtu-cache.h', 353 'model/ipv6-pmtu-cache.h',
361 'model/ripng.h', 354 'model/ripng.h',
362 'model/ripng-header.h', 355 'model/ripng-header.h',
363 'helper/ripng-helper.h', 356 'helper/ripng-helper.h',
364 ] 357 ]
365 358
366 if bld.env['NSC_ENABLED'] 359 if bld.env['NSC_ENABLED']:
367 : obj.source.append ('model/nsc-tcp-socket-impl.cc') 360 obj.source.append ('model/nsc-tcp-socket-impl.cc')
368 obj.source.append ('model/nsc-tcp-l4-protocol.cc') 361 obj.source.append ('model/nsc-tcp-l4-protocol.cc')
369 obj.source.append ('model/nsc-tcp-socket-factory-impl.cc ') 362 obj.source.append ('model/nsc-tcp-socket-factory-impl.cc')
370 obj.source.append ('model/nsc-sysctl.cc') 363 obj.source.append ('model/nsc-sysctl.cc')
371 headers.source.append ('model/nsc-tcp-l4-protocol.h') 364 headers.source.append('model/nsc-tcp-l4-protocol.h')
372 obj.use.append ('DL') 365 obj.use.append('DL')
373 internet_test.use.append ('DL') 366 internet_test.use.append('DL')
374 367
375 if (bld.env['ENABLE_EXAMPLES']) 368 if (bld.env['ENABLE_EXAMPLES']):
376 : 369 bld.recurse('examples')
377 bld.recurse ('examples') 370
378 371 bld.ns3_python_bindings()
379 bld.ns3_python_bindings () 372
380
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b