forked from talau/ns-3-tcp-red
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRELEASE_NOTES
990 lines (820 loc) · 39.3 KB
/
RELEASE_NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
ns-3 RELEASE NOTES
This file contains ns-3 release notes (most recent releases first).
All of the ns-3 documentation is accessible from the ns-3 website:
http://www.nsnam.org including tutorials: http://www.nsnam.org/tutorials.html
Consult the file CHANGES.html for more detailed information about changed
API and behavior across ns-3 releases.
Release 3.10
===========
Availability
------------
This release is not yet available.
Supported platforms
-------------------
ns-3.10 has been tested on the following platforms: (TBD)
New user-visible features
-------------------------
- Support for IEEE 802.11g (specifically, rates with Modulation
Class ERP-OFDM) has been added to the wifi module. The new
WifiModes have names of the form ErpOfdmRatexxMbps, where xx is
the rate in Mbps (one of 6, 9, 12, 18, 24, 36, 48, 54), and a
WifiPhyStandard enumeration WIFI_PHY_STANDARD_80211g has been
added to allow configuration of a Wi-Fi STA supporting ERP-OFDM,
HR/DSSS, and DSSS rates (which some call an "802.11b/g" station).
Bugs fixed
----------
The following lists many of the bugs fixed or small feature additions
since ns-3.9, in many cases referencing the Bugzilla bug number
- bug 852 - Add support for 802.11g devices
Known issues
------------
Release 3.9
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-allinone-3.9.tar.bz2
Supported platforms
-------------------
ns-3.9 has been tested on the following platforms:
- Ubuntu 10.04 LTS 32/64-bit gcc-4.4.3
- Fedora Core 12 64-bit gcc-4.4.3
- Ubuntu 9.10 32-bit gcc-4.4.1
- Ubuntu 8.04 LTS 64-bit gcc-4.2.4
- Fedora Core 5 32-bit gcc-4.1.1
- Mac OS X Leopard powerpc gcc-4.0.1
- Windows Cygwin 1.7.5
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
- A reorganisation of the construction of Wi-Fi transmit rates has
been undertaken with the aim of simplifying the task of
supporting further IEEE 802.11 PHYs. This work has been completed
under the auspices of Bug 871. A consequence of this work is that
WifiModes have a new (hopefully future-proof) naming, and
simulations which specify rates by name will need updating. The
list of new rate names is given in the error message produced
when an attempt is made to use any invalid rate name (including
those that were previously valid).
- A new OFDM error rate model for WiFi (NistErrorRateModel); this model
has been validated in clear-channel testbed tests. For 802.11b, it
uses the same underlying model as the YansErrorRateModel, but it differs
from YansErrorRateModel for OFDM modes (802.11a/g). The default
YansWifiPhyHelper has been changed to use this model.
- A new NS-2 mobility trace reader supports BonnMotion, SUMO, TraNS,
etc. traces.
- An energy model for nodes and devices, including an energy source
model and device energy models allowing energy-aware devices
to notify the energy source about energy consumption.
- Rocketfuel topology dataset support for existing topology reader
Rocketfuel project:
http://www.cs.washington.edu/research/networking/rocketfuel/
- Underwater Acoustic Network (UAN) model, split in to three parts, the
channel, PHY, and MAC models to enable researchers to model a variety
of underwater network scenarios.
Bugs fixed
----------
The following lists many of the bugs fixed or small feature additions
since ns-3.8, in many cases referencing the Bugzilla bug number
- IPv4 global routing code; stub networks were assumed to be /24
and added as /24 networks even if the mask is actually different
- OLSR was generating messages on non-OLSR interfaces
- ICMPv4 objects not properly registered; affected serialization code
- bug 231 - SocketAddressTag needs to be removed from a packet before
forwarding the packet to the user
- bug 385 - Add a generic "sequence number" class
- bug 473 - [PATCH] Alternative ns-2 trace reader
- bug 665 - Need Tutorial Sectino on Config Path and Tracing Use
- bug 671 - add packet-info-tag.cc for IP_PKTINFO/IPV6_PKTINFO
- bug 702 - Global routing doesn't respond to interface events
- bug 799 - Interference helper is too slow
- bug 800 - Erroneous packet sender while using aloha or cw mac in uan module
- bug 802 - Minstrel algorithm causes segmentation fault
- bug 826 - Using uint64_t instead of Time in DcfManager
- bug 828 - PacketSocket::Close does not unregister protocol handler
- bug 842 - ns-3-dev crashes using block acks
- bug 843 - Most wifi examples change BeaconInterval to unrealistic values
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx
power
- bug 846 - packet.cc triggers deprecated warning
- bug 853 - Rates for Wi-Fi control responses are incorrectly selected
- bug 854 - Support DROP_QUEUE reason-code in Ipv4FlowProbe
- bug 858 - support MSG_PEEK in IPv4/IPv6 raw socket
- bug 861 - Forwarding drops (due to no route found) were not being logged
in IPv4 or IPv6 ascii traces
- bug 869 - suggested test framework enhancements
- bug 871 - naming for WifiPhyStandard
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
- bug 874 - wrong modulation type is selected in the forwardBurst method
- bug 875 - "frame includes FCS" flag should be set in Radiotap frame header
- bug 879 - source address selection for AODV using DeferredRouteRequest
- bug 881 - Reorganise to allow wider use of WifiInformationElement
- bug 890 - several rate adaptation algorithms not tested by test.py
- bug 900: RawTextConfigLoad::Default does not load configurations
- bug 901 - Optimize Mac48Address < != and ==
- bug 902 - TCP: handle out-of-order packets during connection shutdown
- bug 905 - WimaxNetDevice loses packet uid, tags, and memory optimization
- bug 906 - NSC TCP socket fork did not copy txbuffersize over
- bug 908 - test.py should exit if waf dies
- bug 910 - Change Wi-Fi "AccessClass" to something closer to the standard
- bug 911 - IPv4/v6 multicast forwarding not going to all output interfaces
- bug 913 - Queue Enqueue/Drop trace sources behavior unintuitive
- bug 916 - EnableAsciiAll ("prefix") does not work for YansWifiPhyHelper
- bug 918 - samples/main-packet-header.cc is broken
- bug 919 - minstrel does not pass valgrind tests
- bug 921 - Inconsistent declaration of class/struct Object in object.h
- bug 922 - Inconsistent declaration of class/struct in
wifi-remote-station-manager.h
- bug 923 - Inconsistent declaration of class/struct in mac-low.h
- bug 924 - Inconsistent declaration of class/struct in <xxx>-wifi-managers
- bug 925 - Various IPv6 cc files trigger deprecated warning
- bug 926 - olsr handling of multicast packets
- bug 927 - SimpleOfdmWimaxChannel RxPower computation
- bug 930 - examples/topology-read/topology-example-sim.cc uses variable
length array
- bug 931 - Abnormal exit reports SIGSEGV on failure
- bug 932 - Support IP_HDRINCL option for Ipv4RawSocket
- bug 933 - Flushing ostream and files on abnormal program exit
(ASSERT, ABORT and FATAL_ERROR)
- bug 936 - Waf build error for python bindings on "AccessClass"
- bug 937 - bugs in ns-3 wimax
- bug 939 - EmuNetDevice uses too much memory when reading packet bursts
- bug 940 - AODV fails to set up a correct path
- bug 941 - Wifi Dcf attributes not reachable through configuration namespace
- bug 943 - Add a SO_BROADCAST socket option
- bug 944 - change default ErrorRateModel from YansErrorRateModel to
NistErrorRateModel
- bug 946 - Rocketfuel topology dataset support for topology reader
- bug 949 - Node::NonPromiscReceiveFromDevice reports a meaningless
destination address to user callbacks
- bug 950 - PointToPointNetDevice says promisc support is not implemented
but it is
- bug 955 - Install NSC for NS3 in a Itanium Architecture (ia64) with Linux 2.6.16.6
- bug 956 - Bindings failure in core (traced-value) with older gcc
- bug 958 - WiFi uses wrong default values for MTU, FragmentationThreshold
and RtsCtsThreshold
- bug 959 - Simulation never finishes when using RealtimeSimulatorImpl
- bug 960 - V4Ping does not generate checksum
- bug 961 - Problem with MPI activation
- bug 964 - AODV does not work with host addressed interfaces
- bug 965 - Problem building /src/core/callback.cc
- bug 966 - AODV originates new RREQ on each packet, when doesn't have
valid route
- bug 969 - No SocketList is present in UdpL4Protocol class
- bug 971 - fix AODV header Print functions
- bug 972 - [flow monitor] assertion fails in pv4-flow-probe.cc
Known issues
------------
Release 3.8
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-allinone-3.8.tar.bz2
Supported platforms
-------------------
ns-3.8 has been tested on the following platforms:
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
- cygwin gcc 4.3.4 (debug and optimized)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) WiMAX net device: Allow to simulated IEEE 802.16 point to multi-point based networks
b) Distributed simulation for point-to-point networks using the Message
Passing Interface (MPI) standard.
c) Matrix propagation loss model uses a two-dimensional matrix of path loss indexed
by source and destination nodes.
d) Topology read system: Allows quick and easy creation of large topologies by reading
Inet or Orbis files
e) Gauss-Markov mobility model: Adds 3-d adaptation of Gauss-Markov mobility model which
has both memory and variability
f) Steady-state random waypoint mobility model: Based on random waypoint mobility (RWM) model for case when
speed, pause and position are uniformly distributed random variables. However, initial values of these
parameters are not from uniform distribution but from stationary distribution of RWM model.
g) Two-ray ground propagation loss model: Calculates the crossover distance under which Friis is used.
The antenna height is set to the nodes z coordinate, but can be added to using the model parameter
SetHeightAboveZ, which will affect ALL stations
API changes from ns-3.7
-----------------------
API changes for this release are documented in the file CHANGES.html.
Bugs fixed
----------
The following lists many of the bugs that were fixed since ns-3.7, in
many cases referencing the Bugzilla bug number
- bug 155 - std::ostream & os" parameters not Python friendly
- bug 184 - GtkConfigStore do not support ConfigureDefault
- bug 407 - OLSR is missing HNA support
- bug 414 - No ReceiveErrorModel in SimpleNetDevice
- bug 602 - WifiRemoteStation lacks information about the access class of outgoing packets
- bug 622 - [PATCH] Friendly names for pcap traces
- bug 683 - Helper methods for pcap tracing with explicit filenames
- bug 706 - Backoff counting when starting NS.
- bug 720 - TapBridge creation fails from a script outside the ns3 tree
- bug 731 - Send function in point-to-point-net-device fails to check the return value of the Dequeue function
- bug 747 - Listening TCP socket closes on RST
- bug 748 - Cloned TCP socket uses wrong source address
- bug 772 - AODV is unable to correctly buffer packets waiting for route reply
- bug 777 - AODV ignores specified outgoing interface in RouteOutput()
- bug 778 - OLSR ignores specified outgoing interface in RouteOutput()
- bug 787 - Addition of Two Ray Ground model to propagation loss model and tests
- bug 788 - OLSR_NEIGH_HOLD_TIME should be 3 times OLSR_REFRESH_INTERVAL
- bug 789 - [PATCH] Globalrouting externalroutes to use the new GetRootExitDirections()
- bug 794 - Ipv4Mask constructor for "/yy"-notation is wrong
- bug 796 - TCP bug in ns-3-dev branch : Crash detected during retesting of Chord on ns-3-dev branch
- bug 797 - Enhancements to src/core/random-variable.cc/h
- bug 801 - ns-3.7 and SVN not coexisting nicely
- bug 802 - Minstrel algorithm causes segmentation fault
- bug 804 - null-pointer references in 3.7 internet stack
- bug 806 - TCP doesn't work over a CSMA link
- bug 807 - ns2-mobility-helper.cc: node id parsed wrong
- bug 809 - Missing Python binding for Ipv4GlobalRouting::GetRoute
- bug 810 - In TCP, Socket::GetSockName() does not return the local socket address
- bug 812 - Assert when getting socket in RecvReply for AODV
- bug 813 - Nqos AP sends packet to non associated STA
- bug 814 - Function logging causing assert in wireless examples
- bug 815 - waf shell file descriptor leak
- bug 816 - tap-creator deadlock when python bindings enabled
- bug 817 - Pareto rng constructors using scale and shape instead of mean and shape
- bug 818 - TCP Socket implementation does not set ACK flag on retransmits
- bug 819 - Build break when gtk not installed
- bug 820 - Bad things happen in test.py when logging is enabled
- bug 821 - AODV asserts with function logging enabled
- bug 822 - Move Mtu attribute from NetDevice base class to subclasses
- bug 825 - UDP-Client-server's packet loss counter not properly reset
- bug 828 - PacketSocket::Close does not unregister protocol handler
- bug 829 - TCP unbound memory problem (pending data)
- bug 833 - OnOffApplication with PacketSocket: sniffs all traffic
- bug 834 - Incorrect signature of Ipv4FlowProbe::DropLogger
- bug 835 - Unlimited receive queues in sockets == evil
- bug 836 - Delay is incremented over time with BsUplinkSchedulerSimple and BsUplinkSchedulerRtps
- bug 838 - ns-3 can't compile on MacOS with 32bit processor
- bug 839 - TestSuite wimax-ss-mac-layer crashes on Darwin 9.8.0 Power Macintosh
- bug 840 - BS scheduler does not support fragmentation for UGS flows
- bug 841 - Multicast transmission breaks with QoS Wifi
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx power
- bug 847 - Segfaults on BaseStationNetDevice with OnOffApplication and rtPS sched
- bug 849 - stray patch files in lwip directory
- bug 850 - Ipv4GlobalRouting::LookupGlobal bug
- bug 855 - waf dies badly when switching from debug to optimized build or vice versa
- bug 856 - initialize vbl
- bug 857 - Link-Local Multicast handle in Ipv4 Output processing
- bug 859 - Output interface estimation for the source address bound socket in IPv4 Raw socket
- bug 860 - waf sometimes dies while executing ns3header or gen_ns3_module_header tasks in case of
parallel jobs
- bug 862 - NotifyInterfaceUp() Adds network route even when netmask is /32
- bug 863 - Wrong Scalar arithmetics
- bug 864 - Invalid return value in UdpSocketImpl::Send and Ipv4RawSocketImpl::Send
- bug 865 - Ipv4RawSocketImpl::RecvFrom does not return from address all the time.
- bug 866 - WiMAX mobility models not aggregated to Node
- bug 867 - Minor bug in Ipv4L3Protocol::Send()
- bug 868 - invalid packet size after Ipv4L3Protocol::Send
- bug 872 - ns3::PcapFileWrapper::Write explodes stack
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
- bug 876 - Tcp socket does not handle ShutdownRecv correctly
- bug 877 - python bindings broken with multiple inheritance ?
- bug 880 - Node sending a packet to itself via 127.0.0.1 aborts
- bug 885 - Error in Ascii tracing in Python examples
- bug 888 - Writing ascii trace to addtional tests fails
- bug 891 - WiMAX device helper does not include propagation loss model by default
- bug 894 - ./waf --run error message upon segfault
- bug 895 - SimpleOfdmWimaxPhy SNR computation
- bug 899 - EmuNetDevice::SetPromiscReceiveCallback not implemented
Known issues
------------
ns-3 builds have been known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Release 3.7
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-allinone-3.7.tar.bz2
Supported platforms
-------------------
ns-3.7 has been tested on the following platforms:
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
Unofficially supported platform
-------------------
- mingw gcc 3.4.5 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Ad hoc On-Demand Distance Vector (AODV) routing model (RFC 3561)
b) IPv6 extensions support to add IPv6 extensions and options. Two
examples (fragmentation and loose routing) are available.
c) NetAnim interface: Provides an interface to the Qt-based NetAnim
animator, which supports static, point-to-point topology-based
packet animations.
d) New topology helpers have been introduced
- PointToPointDumbbellHelper
- PointToPointGridHelper
- PointToPointStarHelper
- CsmaStarHelper
e) Equal-cost multipath for global routing: Enables quagga's equal
cost multipath for Ipv4GlobalRouting, and adds an attribute that
can enable it with random packet distribution policy across
equal cost routes.
f) Binding sockets to devices: A method analogous to a SO_BINDTODEVICE
socket option has been introduced to class Socket
g) Object::DoStart: Users who need to complete their object setup at
the start of a simulation can override this virtual method, perform their
adhoc setup, and then, must chain up to their parent.
h) Ipv4::IsDestinationAddress method added to support checks of whether a
destination address should be accepted as one of the host's own
addresses.
i) UniformDiscPositionAllocator added; distributes uniformly the nodes
within a disc of given radius.
j) ChannelNumber attribute added to YansWifiPhy. Now it is possible to
setup wifi channel using WifiPhyHelper::Set() method.
k) WaypointMobilityModel provides a method to add mobility as a set of
(time, position) pairs
l) 802.11p WiFi standards
m) UDP Client/Server application
n) Support transactions in the SQLite output interface, making it usable for larger amounts of data
API changes from ns-3.6
-----------------------
API changes for this release are documented in the file CHANGES.html.
Bugs fixed
----------
The following lists many of the bugs that were fixed since ns-3.6, in
many cases referencing the Bugzilla bug number
- bug 752: Object::DoStart is not executed for objects created at t > 0
- bug 767: Incorrect modulation for 802.11a modes
- bug 725: wifi fragmentation and RTS cannot be used at the same time
- bug 782: CreateTap () requires IP address in modes other than
CONFIGURE_LOCAL.
- bug 769: Queue::GetTotalReceived{Bytes,Packets}() broken
- bug 738 ReceiveErrorModel called too late
- Fix NSC improper response to FIN
- Fixed bug in serialization of PbbAddressBlock.
- Fix bug 780 (problem in RoutingTableComputation with asymetric links),
while adding debugging methods to OLSR.
- bug 759: Ipv6 uses wrong outgoing interface.
- bug 770: IPv6 size calculation for unknown options is wrong.
- bug 771: Radvd does not set ttl value.
- Fix bug 606: Arp depends on IP routing system
- pad out CSMA payloads to 46 bytes if needed
- Drop CSMA packets with CRC errors, rescan, dox tweaks
- Add FCS capability to CSMA
- Mesh:Dot11s: fixed airtime metric
- Get emu working again: Add Dix/Llc option, add and use contextual
realtime schedule ops, don't refcount realtime simulator impl
- bug 695 - DcfManager::UpdateBackoff () uses slow HighPrecision::Div()
- bug 674 - EIFS is not handled correctly in DcfManager::GetAccessGrantStart
- bug 739 - OLSR: Strange HTime value in HELLO messages
- bug 746 - UDP source address is not set to bound address
- bug 735 Update Olsr for local delivery
- bug 740 OLSR MprCompute () works wrong: fixed
- bug 729 Enable IPv6 over PPP.
- bug 645: fixes for opening stats file with OMNeT++
- bug 689: default energy detection and CCA thresholds are changed to be
more realistic.
- bug 733: OLSR MPR Computation give incorrect result
- Mesh: HWMP: fixed proactive routes
- Mesh: fixed FLAME PATH_UPDATE procedure, fixed mesh.cc
Known issues
------------
ns-3 builds have been known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Release 3.6
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-allinone-3.6.tar.bz2
Supported platforms
-------------------
ns-3.6 has been tested on the following platforms:
- linux x86 gcc 4.4.1, 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) 802.11 models:
- Add an implementation of the minstrel rate control algorithm
(Duy Nguyen for gsoc)
- AthstatsHelper: enables the wifi device to produce periodic
reports similar to the ones generated by madwifi's
athstats tool (Nicola Baldo)
- 10MHz and 5MHz channel width supported by 802.11a model
(Ramon Bauza and Kirill Andreev)
- Channel switching support. YansWifiPhy can now switch among
different channels (Ramon Bauza and Pavel Boyko)
b) IPv6 models:
- IPv6 interface;
- IPv6 layer;
- IPv6 raw socket;
- Static IPv6 routing;
- ICMPv6 layer;
- Some ICMPv6 error messages (destination unreachable, ...);
- Neighbor Discovery Protocol (NS/NA, RS/RA, redirection);
- Ping6 application (send Echo request);
- Radvd application (send RA);
- Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix,
icmpv6-redirect).
c) Wireless Mesh Networking models:
- General multi-interface mesh stack infrastructure (devices/mesh module).
- IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP.
- Forwarding Layer for Meshing (FLAME) protocol.
d) Nix-vector routing:
- Ipv4NixVectorHelper
- Examples (nix-simple, nms-p2p-nix)
e) New Test Framework
- Use test.py instead of ./waf check or ./waf --regression
- Previous unit tests have been ported to new framework.
- Examples are tested for run-ability.
f) A new Flow Monitor module
- To very easily measure flow metrics in a simulation
- No need to use trace callbacks or parsing trace files
API changes from ns-3.5
-----------------------
API changes for this release are documented in the file CHANGES.html.
Known issues
------------
ns-3.6 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Release 3.5
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-allinone-3.5.tar.bz2
Supported platforms
-------------------
ns-3.5 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
- mingw gcc 3.4.5 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) 802.11 MAC:
- EDCA multi-qos-class support (Mirko Banchi)
- 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi)
- aarf-cd and cara rate control algorithms (Federico Maguolo)
b) 802.11 PHY:
- 802.11b PHY support (Gary Pei)
- Nakagami propagation loss model (Timo Bingmann)
- radiotap and prism headers for PCAP output (Nicola Baldo)
c) RandomVariable:
- GammaVariable and ErlangVariable (Timo Bingmann)
- ZipfVariable (Francesco Malandrino)
d) UdpEcho: allows setting the payload of echo packets
e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over
routing policy and arbitrary composition of routing protocols
API changes from ns-3.4
-----------------------
API changes for this release are documented in the file CHANGES.html. The
internal API and composition of the IPv4 stack underwent significant
refactoring in this release cycle.
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development including
fuller IPv6 support, some smaller features such as a new Global ARP
package, and possibly a new Testing and Validation suite.
Release 3.4
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-allinone-3.4.tar.bz2
Supported platforms
-------------------
ns-3.4 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami
propagation loss model based on the ns-2 models. Fabian Mauchle contributed
multicast support.
b) Object Name Service: A facility allowing ns-3 Objects to be assigned
names has been added.
c) Tap Bridge: A second option for integrating ns-3 with real-world hosts
has been added. This allows for real hosts to talk over ns-3 net devices
and simulated networks.
d) A new build option (ns-3-allinone) has been provided to make it easier for
users to download and bulid commonly used ns-3 configurations.
e) The ns-3 calendar queue scheduler has been ported to ns-3.
f) XML support has been added to the ConfigStore.
API changes from ns-3.3
-----------------------
API changes for this release are documented in the file CHANGES.html
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
- MinGW
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development including
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
features such as a new Global ARP package and possibly a new Testing and Validation
suite,
Release 3.3
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-3.3.tar.bz2
Supported platforms
-------------------
ns-3.3 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Emulated Net Device
A new net device has been added as enabling technology for ns-3 emulation
scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details.
b) ICMP Support
Support for several ICMP messages has been added to ns-3. See
src/internet-stack/icmpv4.h for details.
c) IPv6 Address Support
New clases to support IPv6 addresses has been added to the system. This
is enabling technology for fuller IPv6 support scheduled for ns-3.4.
d) A flow-id tag has been added to the contributed code section
e) Star topologies can be created from the topology helper functions
f) The global routing code has been made dynamic (not just limited to
(pre-simulation computation) and supports stub network interfaces and
bridge net devices
g) A MatchContainer has been added to the configuration subsystem
API changes from ns-3.2
-----------------------
API changes for this release are documented in the file CHANGES.html
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
- MinGW
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development including
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
features such as an object naming facility and a new Global ARP package.
Release 3.2
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-3.2.tar.bz2
Supported platforms
-------------------
ns-3.2 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Learning bridge (IEEE 802.1D)
It is now possible to bridge together multiple layer 2 devices to
create larger layer 2 networks. The Wifi and Csma models support
this new mode of operation. (contributed by Gustavo Carneiro)
b) Python bindings
It is now possible to write simulation scripts in python using our
python bindings (contributed by Gustavo Carneiro).
c) Real-time simulator
It is now possible to run simulations synchronized on the real-world
wall-clock time (contributed by Craig Dowell).
d) Network Simulation Cradle
It is now possible to use the Network Simulation Cradle
(http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations
using various versions of kernel TCP network stacks. (contributed
by Florian Westphal as part of his Google Summer of Code work)
e) A statistics framework
Joseph Kopena contributed a statistics framework which can be used
keep track of simulation data in persistent storage across multiple
runs (database and ascii file backends are available).
More information on the wiki:
http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation
API changes from ns-3.1
-----------------------
API changes for this release are documented in the file CHANGES.html
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
- MinGW
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development: IPv6,
emulation, and synchronous posix sockets.
Release 3.1 (2008/06/30)
========================
The first ns-3 stable release
-----------------------------
This release is immediately available from:
http://www.nsnam.org/releases/ns-3.1.tar.bz2
We dedicate this initial ns-3 release to our late contributor and friend,
Federico Maguolo.
What is ns-3 ?
--------------
ns-3 is a new discrete-event network simulator designed for supporting network
research and education. ns-3 features a solid, well documented C++ core and
models for TCP/IP (IPv4), several link types including WiFi, and mobility
models.
ns-3 is an open source project released under the GNU GPLv2 license which
allows anyone to use ns-3 without having to pay any license fee or royalties.
ns-3 is actively seeking new contributors to extend the range of supported
models and/or to maintain existing models.
Where to get more information about ns-3
----------------------------------------
All the ns-3 documentation, is accessible from the ns-3 website:
http://www.nsnam.org
Including, tutorials:
http://www.nsnam.org/tutorials.html
Supported platforms
-------------------
ns-3 is regularly tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Known issues
------------
ns-3 is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development: python
scripting, IPv6, emulation, a statistics framework and synchronous posix
sockets.
Release 3.0.13 (2008/06/02)
===========================
- point to point links generate ppp pcap traces
- point to point links support asymmetrical data rates.
- generate doxygen documentation for all attributes and trace sources
- add ConfigStore and GtkConfigStore to contrib module
- socket API now support tx and rx buffers: implemented for UDP and TCP
- ARP cache now supports per-entry pending queues
- lots of bugfixes and implementation and API cleanups
Warning: among API changes in this release, Application::Start and
Application::Stop now interprets the time argument as a relative
instead of absolute simulation time, to align with how Simulator::Schedule
behaves. Any code that calls these APIs in the middle of the simulation
will need to be adapted.
The API of Simulator::StopAt (time) has also changed. Now it is
called Simulator::Stop (time), and takes a relative time, instead of
absolute.
Release 3.0.12 (2008/04/07)
===========================
- Add Attribute support to the TypeId metadata system and add
attribute support to all in-tree models
- Add a mid-level helper API to build simulation topologies
and perform simple ascii and pcap link-level tracing.
- Large amount of structural changes to accomodate the needs
of the upcoming python bindings
- new rate control algorithm (RRAA) and a jakes propagation model
in the 802.11 model (Federico Maguolo).
- regression test framework added
- TCP delayed acknowledgements and multitasking server
Release 3.0.11 (2008/02/15)
===========================
- Initial port of GTNetS TCP implementation (initial version
that does not support multitasking or delayed acknowledgments yet,
but supports a reliable stream service)
- Changes to the ns-3 object model to create a TypeId-based
metadata system
- lots of bug fixes throughout the system
- tutorial updates
Release 3.0.10 (2008/01/15)
===========================
- Add tutorial document content;
- Valgrind option for "waf" tool;
- Doxygen organization changes.
Release 3.0.9 (2007/12/15)
==========================
- A 802.11 model ported from Yans. This model supports:
* a rather extensive PHY model
* log-distance and friis propagation model
* a simple set of rate control algorithms (ARF, Ideal,
AARF, constant-rate)
* adhoc and infrastructure mode (beacon+assoc)
- Use smart pointer for Packet in the APIs
- A new contrib directory with helper classes:
EventGarbageCollector, Gnuplot
- Tracing support for Applications
- many bugs fixed
Release 3.0.8 (2007/11/15)
==========================
- A simple error model
- Source files for ns-3 tutorial
Release 3.0.7 (2007/10/15)
==========================
- OLSR routing protocol
- A timer class
- Additional mobility models (random waypoint, random 2D walk)
- A mobility visualization tool
Release 3.0.6 (2007/09/15)
==========================
- Static multicast IPv4 routing
- Logging overhaul (NS_LOG macros)
- Refactoring of tracing subsystem
- Tutorial document started
Release 3.0.5 (2007/08/15)
==========================
- Refactoring to support win32-based unix environments (Cygwin, mingw)
- "Packet socket" for allowing applications to access NetDevices directly
- Generalized, polymorphic Address class
- Add CSMA NetDevice model (from Emmanuelle Laprise)
- Modularize IPv4 routing support (from Gustavo Carneiro)
- Add mobility framework and basic mobility models
- Global unicast centralized routing
Release 3.0.4 (2007/07/15)
==========================
- Enable waf as the default build system.
- Per-packet metadata: a system to track which headers and trailers
are added to a packet
- Simplifications to point-to-point devices and channel
Release 3.0.3 (2007/06/15)
==========================
- Enable Waf for release tarballs: users can now build ns-3
with the "waf" tool. See doc/build-waf.txt.
- Add support for variable time precision: it is now possible
to run a simulation with an accuracy which is higher or lower
than a nanosecond: seconds, milliseconds, microseconds,
femtoseconds and picoseconds are supported.
- Optimize and rework the COM framework, solidify the component
manager
- Many small API cleanups
Release 3.0.2 (2007/05/18)
==========================
- Implement a new memory management infrastructure based
on reference counting and smart pointers (the latter being
optional)
- Implement a COM-like framework with support for QueryInterface
to provide object extensibility
- Add support for a BSD-style socket API for user applications
Release 3.0.1 (2007/03/31)
==========================
- First public release; not yet pre-alpha.
- Simple UDP-based simulation script (examples/simple-p2p.cc)