forked from nsnam/ns-3-dev-git
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE_NOTES
3262 lines (2881 loc) · 152 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
991
992
993
994
995
996
997
998
999
1000
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-dev
=============
Availability
------------
This release is not yet available.
Supported platforms
-------------------
This release is intended to work on systems with the following minimal
requirements (Note: not all features available on all platforms):
New user-visible features
-------------------------
- (wifi) Preamble detection can now be modelled
Bugs fixed
----------
- Bug 2470 - wifi: Handshake to setup the Block Ack Agreement is not protected
- Bug 2992 - lte: Send method of the LteUeNetDevice doesn't use protocolNumber parameter
- Bug 2997 - lte: EpcTft::PacketFilter::Matches does not use ipv6 address to match an IP packet
- Bug 2860 - mobility: Set Z coordinate for position-allocation classes
- Bug 3027 - lte: S1 signalling is done before RRC connection establishment is finished
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.29
============
This release is dedicated to the memory of project co-founder George Riley.
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2
Supported platforms
-------------------
This release is intended to work on systems with the following minimal
requirements (Note: not all features available on all platforms):
- g++-4.9 or later
- Apple LLVM version 7.0.2 or later
- clang-3.3 or later
In addition, Python 2.7 (Python 2 series) or Python 3.4-3.7 (Python 3 series)
This release has been tested on the following platforms:
- Ubuntu 18.04 (64 bit) with g++-7.3.0 and Python 2.7.15
- Ubuntu 16.04 (64 bit) with g++-5.4.0 and Python 2.7.12/3.5.2
- Fedora Core 28 (64 bit) with g++-8.1.1 and Python 2.7.15/3.7.0
- Fedora Core 26 (64 bit) with g++-7.3.1 and Python 2.7.14/3.6.5
- macOS High Sierra 10.13.5 with Xcode 9.4.1, Apple LLVM version 9.1.0, Python 2.7.10
New user-visible features
-------------------------
- (buildings) A new position allocator has been added to the buildings module.
The allocator places nodes randomly but in a manner that rejects positions
that are located within buildings defined in the scenario.
- (applications) Add 3GPP HTTP model
- (traffic-control) Add priority queue disc (PrioQueueDisc)
- (tcp) Added PRR as recovery algorithm
- (wifi) Add a new trace source to StaWifiMac to trace beacon arrivals
- (network) Add a method to allow random variable-based jitter to be added
to the start times of applications in a container.
- (network) Add a method to check whether a node with a given ID is within
a NodeContainer.
- (spectrum) A new trace source named "Gain" is added to the SpectrumChannel class.
This trace is fired whenever a new path loss value is calculated. It exports pointers
to the mobility model of the transmitter and the receiver, Tx antenna gain, Rx antenna gain,
propagation gain and the pathloss value.
- (wifi) It is now possible to transmit A-MPDUs containing up to 256 MPDUs (802.11ax only)
Bugs fixed
----------
- Bug 2299 - uan: WOSS integration missing patch
- Bug 2399 - wifi: Improve scanning procedure of StaWifiMac
- Bug 2451 - bindings: (partial fix) generating ILP32 bindings from LP64
- Bug 2461 - core: CommandLine should handle non-option arguments
- Bug 2772 - bridge: Bridge doesn't learn from packets sent to it
- Bug 2801 - fd-net-device: FdNetDevice device MTU is not set correctly
- Bug 2819 - traffic-control: FqCoDel handling of non-IP packets
- Bug 2891 - netanim: dumbbell-animation breaks when RightCount > LeftCount
- Bug 2901 - core: Add CommandLine::Parse (const std::vector<std::string>> args)
- Bug 2902 - build: missing modules cause Waf to run indefinitely
- Bug 2908 - build: Check if pybindgen version exists before use
- Bug 2911 - aodv: Binary exponential backoff can become unlimited
- Bug 2914 - tcp: Adv Win resilience to SequenceNumber wrap-around
- Bug 2915 - build: Enforce gcc minimum version
- Bug 2920 - wifi: Default MaxSlrc and fragmentation threshold values differ from standard
- Bug 2921 - tcp: Add min_cwnd variable to LEDBAT
- Bug 2923 - tap-bridge: UseLocal mode uses wrong MAC address
- Bug 2924 - traffic-control:documentation about Peek/Dequeue usage
- Bug 2925 - wifi: MinstrelHt provides strange results at low SNR with A-MPDU enabled
- Bug 2926 - wifi: SSRC and SLRC mechanism not fully aligned to the standard
- Bug 2927 - lte: Valgrind error in lena-x2-handover example
- Bug 2931 - traffic-control: QueueDisc drops the CE marked packets
- Bug 2936 - Disable -Wparentheses with GTK+ and gcc-8
- Bug 2938 - build: add --disable-werror flag to Waf
- Bug 2940 - traffic-control: QueueDisc SojournTime should be TracedCallback
- Bug 2941 - wifi: Order bit of Frame control field of WifiMacHeader not correctly set for some frames
- Bug 2948 - network: SetPriority does not support value 7
- Bug 2949 - test: Exit test.py if incorrect fullness option used
- Bug 2964 - wifi: IdealWifiManager keeps using the same MCS when all transmissions fail
- Bug 2974 - lte: Inconsistent declaration of IPV6 methods
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.28
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.28.tar.bz2
Supported platforms
-------------------
This release is intended to work on systems with the following minimal
compiler requirements (other compilers supporting C++11 may also work):
- g++-4.9 or later
- Apple LLVM version 7.0.2 or later
- clang-3.3 or later
In addition, a Python 2.7 (Python 2 series) or Python 3.4 (Python 3 series)
or later is required.
This release has been tested on the following platforms:
- Ubuntu 17.10 (64 bit) with g++-7.2.0 and Python 2.7.14
- Ubuntu 16.04 (64 bit) with g++-5.4.0 and Python 2.7.12
- Fedora Core 27 (64 bit) with g++-7.3.1 and Python 2.7.14
- Fedora Core 26 (64 bit) with g++-7.3.1 and g++-7.1.1, and Python 2.7.14
- CentOS/RHEL 7.4 (64-bit) with g++-6.3.1 and Python 3.5.1
- Note: the default g++ version (4.8) must be upgraded
- CentOS/RHEL 6.8 (64-bit) with g++-4.9.2 and Python 2.7.13
- Note: the default g++ version (4.4) must be upgraded
- Note: the default Python version (2.6) must be upgraded
- OS X Sierra 10.12.6 with Xcode 9.2, Apple LLVM version 9.0.0, Python 2.7.13
- OS X Yosemite 10.10.5 with Xcode 7.2.1, Apple LLVM vers. 7.0.2, Python 2.7.10
New user-visible features
-------------------------
- (tcp) Added TCP-LP as a congestion control module
- (tcp) When TCP SACK is enabled, the third rule defined in RFC 6675 regarding the next segment to transmit is followed
- (tcp) Separated the CongestionWindow trace into a CongestionWindow trace and a CongestionWindowInflated trace, where the latter tracks window inflation during loss recovery as defined by the Reno algorithm
- (tcp) Implemented the core functionality of TCP Pacing.
- (lr-wpan) Extended addressing mode is now supported.
- (internet) Ipv[4,6]AddressGenerator can now check if an address or a network is already allocated.
- (internet) Ipv6AddressHelper has more pedantic checks, but more than one such helper can now be used in a program.
- (lte) UEs can now use IPv6 to send and receive traffic.
- (uan) The UAN module now supports an IP stack
- (uan) Added some examples for running raw, IPv4, IPv6, and 6LoWPAN over UAN
- (traffic-control) Added a FIFO queue disc (FifoQueueDisc) and the Token Bucket Filter (TbfQueueDisc).
Bugs fixed
----------
- Bug 1745 - There can be only one Ipv6AddressHelper in a script
- Bug 1783 - tcp: Experiencing drops during fast recovery causes TCP's congestion window to blow up. Not anymore.
- Bug 2107 - lte: Enable PCAP for S1 and X2 point-to-point links
- Bug 2152 - lte: Fix uplink HARQ retx. out of synch at the MAC layer
- Bug 2151 - lte: Generate correct redundancy version in uplink HARQ
- Bug 2277 - lte: EpcTftClassifier::Classify blindly assumes that a packet has a L4 header
- Bug 2505 - network: Avoid asserts in Header/Trailer deserialization
- Bug 2653 - tcp: Avoid saving smaller TS in case of packet reordering
- Bug 2656 - wifi: Minstrel and MinstrelHt provide different results for 802.11a/b/g
- Bug 2754 - lte: Incorrect arguments passed to Asn1Header::SerializeInteger
- Bug 2764 - wifi: WifiSpectrumModelId doesn't distinguish 11ax from legacy
- Bug 2766 - core: Modify logging for int64x64 to avoid stack overflow
- Bug 2768 - lte: LteUeNetDevice has a null MAC address
- Bug 2774 - wifi: Wifi Transmitter Sends ADDBA Request Continuously Even After Transmitting Delba Frame
- Bug 2791 - wifi: Interference Helper gives negative trace value for Interference Power
- Bug 2807 - energy: GetTotalEnergyConsumption is not updated correctly
- Bug 2809 - wifi: Wifi doesn't fully stop when energy is depleted
- Bug 2813 - wifi: OFDM 10 MHz and 5 MHz PHYs do not have correct subcarrier frequency spacings
- Bug 2820 - wifi: segmentation fault when Rrpaa wifi manager is used
- Bug 2821 - lte: Set correct limit for UL retx. in Round Robin scheduler
- Bug 2824 - ICMP opcode fr fragment timeout drop is wrong
- Bug 2826 - wifi: Management frames should be sent using the lowest basic rate
- Bug 2827 - wifi: Active scanning not working with 802.11n/ac/ax
- Bug 2828 - OLSR simple P2P example produces wrong results
- Bug 2831 - wifi: runtime channel width switch has no effect
- Bug 2832 - tcp: Partial ACK triggering repeated retransmission
- Bug 2836 - wifi: Missing VHT information in radiotap header when A-MPDU is used
- Bug 2838 - wifi: ht-wifi-network crashes with RTS/CTS enabled and frequency set to 2.4GHz
- Bug 2840 - lte: Wrong configuration of eNBs and UEs
- Bug 2843 - spectrum, wifi: Incorrect channel width and center frequency provided for non-HT PPDUs when building SpectralDensity
- Bug 2848 - wifi: Association ID not correctly set upon association
- Bug 2849 - lte: Received RLC and PDCP PDUs are missing in the stats files
- Bug 2854 - wifi: Fix 802.11ax channel width capabilities
- Bug 2856 - wifi: Correct bugs and improve logging in MinstrelHt
- Bug 2859 - tcp: calculation of BytesInFlight during partial recovery is fixed
- Bug 2866 - tcp: Removed VS warnings on TcpSocketBase
- Bug 2872 - csma: Packet copy in CsmaChannel breaks netanim tracing
- Bug 2873 - tcp: Potential SIGFPE in TcpYeah
- Bug 2874 - tcp: Corrected interpretation of RFC 6675 for IsLost check
- Bug 2875 - tcp: Use Rule3 of RFC6675 only with SACK enabled
- Bug 2876 - tcp: Do not shrink adv window after we send the FIN
- Bug 2877 - wifi: Wrong data types for CWmin and CWmax
- Bug 2885 - lte: Tests fail for CQA and PSS testsuites
- Bug 2890 - internet: Icmpv4 "ECHO" is defined in system-wide headers
- Bug 2898 - lte: Coding issue in function RrcAsn1Header::DeserializeRachConfigCommon
- Bug 2899 - lte: Inconsistent type for variable cellForWhichToReportCGI
- wifi: Fix wrong guard band for SpectrumWifiPhy DSSS/HR-DSSS
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.27
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.27.tar.bz2
Supported platforms
-------------------
This release is intended to work on systems with the following minimal
requirements (Note: not all features available on all platforms):
- g++-4.9 or later (Note: this is an upgraded requirement from ns-3.26)
- Apple LLVM version 7.0.2 or later
- clang-3.3 or later
- Python 2.7 (Python 2 series) or Python 3.4 (Python 3 series) or later
This release has been tested on the following platforms:
- Ubuntu 17.04 (64 bit) with g++-6.3.0
- Ubuntu 16.04 (64 bit) with g++-5.4.0
- Ubuntu 14.04.5 (64 bit) with g++-4.9.4
- Note: the default g++ version (4.8) must be upgraded
- Fedora Core 26 (64 bit) with g++-7.1.1
- Fedora Core 22 (64 bit) with g++-5.3.1
- CentOS/RHEL 7.4 (64-bit) with g++-6.3.1
- Note: the default g++ version (4.8) must be upgraded
- CentOS/RHEL 6.8 (64-bit) with g++-4.9.2
- Note: the default g++ version (4.4) must be upgraded
- Note: the default Python version (2.6) must be upgraded
- OS X Sierra 10.12.6 with Xcode 9.0 and Apple LLVM version 9.0.0
- OS X El Capitan 10.11.6 with Xcode 8.2.1 and Apple LLVM version 8.0.0
- OS X Yosemite 10.10.5 with Xcode 7.2.1 and Apple LLVM version 7.0.2
- Windows 10 Linux Subsystem with g++-5.4.0
New user-visible features
-------------------------
- (build) Modules can also be located in contrib/ directory (as well as src/)
- (core) Logging timestamp precision has been improved
- (lte) LTE carrier aggregation feature according to 3GPP Release 10 is now supported.
- (traffic-control) CsmaNetDevice, SimpleNetDevice and WifiNetDevice support flow control.
- (traffic-control) Added support for queue discs to mark packets, and ECN support has been added to RED
- (traffic-control) A multi-queue aware queue disc modelled after Linux mq
- (traffic-control) Added support for detailed statistics output of queue discs
- (traffic-control) Added support for tracing queue sojourn times
- (tcp) The SACK option and the RFC 6675 loss recovery algorithm are now supported.
- (tcp) A LEDBAT model has been added.
- (wifi) 802.11ax High Efficiency (HE) physical layer modes are now supported.
- (wifi) A new RRPAA rate control mechanism has been added.
- (wifi) A new trace source for TXOP duration is now supported
- (wifi) Frame capture effect can now be modelled
- (uan) World Ocean System Simulation (WOSS) integration, and new PER models
Bugs fixed
----------
- Bug 1034 - wifi: No trace source for packet dropping from WifiMacQueue
- Bug 2007 - uan: Remove deprecation on SetRxThresholdDb
- Bug 2048 - lte: Fix scheduler resource allocation when CQI==0 (out of rante)
- Bug 2133 - tcp: Avoid assert when receiving data in FIN_WAIT_1 or _2 states
- Bug 2214 - tcp: Use of ScheduleNow only in selected part of the code
- Bug 2221 - network: Remove constraint on size of ns3::Packet Tag objects
- Bug 2256 - tcp: bytes in flight now updated in TcpTxBuffer
- Bug 2263 - tcp: Support processing of multiple TCP options
- Bug 2285 - tcp: Loss of ack of SYN can cause improper connection setup
- Bug 2367 - wifi: BlockAckManager does not remove iterators to freed items
- Bug 2450 - propagation: LogDistancePropagationLossModel is not continuous
- Bug 2456 - lte: MemberCschedSapProvider and Member CschedSapProvider templates
- Bug 2464 - spectrum: Store spectrum conversion matrix in CSR format
- Bug 2467 - spectrum: Do not schedule StartRx for receivers on other models
- Bug 2471 - wifi: unable to disable Block Ack agreement for 802.11n
- Bug 2477 - wifi: DCF manager assert
- Bug 2485 - traffic-control: Check queue full before checking RED thresholds
- Bug 2491 - wifi: replace DcfManager::MY_DEBUG
- Bug 2492 - uan: Make use of RxGain attribute in UanPhyGen class
- Bug 2511 - wifi: HT Greenfield is not working
- Bug 2512 - traffic-control: Byte mode not configured correctly for RED test
- Bug 2513 - core: ParetoRandomVariable needs a "scale", not a "mean" attribute
- Bug 2518 - build: Suppress printing of list of modules for Python programs
- Bug 2519 - lte: m_windowOffsetsMap.end () dereference
- Bug 2520 - examples: TCP variant not configured in wifi-tcp.cc
- Bug 2521 - internet: Include ipv6-option.h in wscript
- Bug 2523 - lte: Generate the RLC PDU properly
- Bug 2527 - internet: PrintRoutingTable adds an optional Time::Units parameter
- Bug 2528 - wifi: 802.11n RIFS cannot be enabled
- Bug 2529 - wifi: Missing trace for Block ACK timeout or missing MPDUs
- Bug 2530 - aodv: Rename aodv::SetBalckListTimeout to aodv::SetBlackListTimeout
- Bug 2531 - lte: Set HARQ feedback default value to avoid false retrasmissions
- Bug 2532 - wifi: Inconsistencies between 802.11n MCS and NSS value in TXVECTOR
- Bug 2533 - wifi: Provide better 802.11n/ac PHY abstraction for SIMO/MISO/MIMO
- Bug 2534 - traffic-control: ARED and PIE examples should return 1 upon exit
- Bug 2535 - utils: memory leak in bench-simulator.cc
- Bug 2536 - wimax: fixed dead assignment and potential memory leak in wimax
- Bug 2537 - traffic-control: Fix dead assignment on CoDel::DoDequeue
- Bug 2538 - tap-bridge: fixed dead assignment on tap-bridge
- Bug 2540 - mesh: fixed dead assignment on mesh/ie-dot11s-perr
- Bug 2541 - wifi: preamble not assigned correctly
- Bug 2542 - wifi: dead assignment on wifi mac-low
- Bug 2543 - lte: Fix when EstimateUlSinr returns NO_SINR
- Bug 2545 - flow-monitor: Optimized build fails for flow-monitor
- Bug 2547 - tcp: dead assignments on various tcp congestion controls
- Bug 2551 - wifi: wifi preamble should be part of TXVECTOR
- Bug 2552 - wifi: Remove code duplication between Yans and Spectrum
- Bug 2554 - wave: Fix static analysis warning
- Bug 2556 - csma, point-to-point: Avoid modification of transmitted packets
- Bug 2557 - point-to-point: Fix dead assignments in queue-discs-benchmark
- Bug 2559 - tcp: TCP advertised window still incorrect
- Bug 2561 - tcp: TCP can not use Connect after a BindToNetDevice
- Bug 2563 - bindings: pybindgen version check to >= minimum version required
- Bug 2564 - wifi: Simulation crashes when CtsTimeout triggered for A-MPDU
- Bug 2565 - tcp: Do not wait for 2*MSL to notify socket close
- Bug 2566 - wifi: BlockAckManager::GetNRetryNeededPackets missing some packets
- Bug 2568 - examples: Avoid enumerating TCP variants
- Bug 2577 - wifi: crashes when A-MPDU and multiple TOS used, upon CTS timeout
- Bug 2578 - wifi: Unexpected assert "Internal collision but no packet in queue"
- Bug 2584 - wifi: MacLow triggers StartNext even if there is no TXOP
- Bug 2587 - tcp: Avoid overflow in htcp.cc
- Bug 2590 - traffic-control: Minor enhancements in red-queue-disc{.h, .cc}
- Bug 2591 - wifi: 802.11e Block Ack cannot be enabled on HT/VHT stations
- Bug 2594 - wifi: vht-wifi-network very low throughtput at MCS 6, 160 MHz, SGI
- Bug 2596 - network: EthernetTrailer::GetFcs() should be const
- Bug 2601 - wifi: HT stations should use 40 MHz width if configured 80 or 160z
- Bug 2604 - wifi: QosData frames separation with Block Ack enabled
- Bug 2605 - wifi: HT/VHT station sending to legacy results in null throughput
- Bug 2606 - wifi: Ideal rate manager for HT/VHT station to a legacy AP
- Bug 2607 - wifi: Correct overflow in channel width loop in Minstrel HT
- Bug 2613 - tcp: MaxRxSequence () is sometimes too large
- Bug 2614 - internet: RIP header version should be set to 2
- Bug 2615 - wifi: When the TXOP limit is nonzero, fragment in some cases
- Bug 2617 - traffic-control: PfifoFastQueueDisc::Peek all bands
- Bug 2621 - wifi: Fix mismatch between log message and action
- Bug 2624 - lte: Inconsistent coding of type and naming
- Bug 2627 - internet: Ipv6RawSocket does not honor the bound interface
- Bug 2628 - wifi: Simulation crashes because of an out of range TID
- Bug 2629 - wifi: Assert failure in MinstrelHtWifiManager::GetLowestIndex
- Bug 2632 - lte: Build error due to uninitialized variable in rem helper
- Bug 2646 - lte: lena-simple-eps-emu example will never work
- Bug 2647 - wifi: ideal-wifi-manager-example crashes when NSS > 1
- Bug 2649 - tcp: Disabling TCP SACK doesn't fall back to NewReno
- Bug 2654 - wifi: Rraa wifi manager cannot be used with 802.11b
- Bug 2655 - wifi: A-MPDU simulation using TCP sometimes fails
- Bug 2658 - core: Avoid unexpected TracedValue type conversions
- Bug 2660 - traffic-control: TrafficControlHelper::Default configuration
- Bug 2661 - wave: Fix outdated class references in documentation
- Bug 2665 - internet: Ipv4RawSocket can not send to broadcast or multicast
- Bug 2666 - lte: Remove deprecated variables/config paths
- Bug 2668 - various: Make template classes use NS_LOG_* macros
- Bug 2671 - internet: ArpCache::Entry::SetMacAddress is misspelled
- Bug 2673 - wifi: run-time channel switch does not update WiFi spectrum model
- Bug 2675 - traffic-control: Use correct string value in PIE example
- Bug 2716 - tcp: TCP socket ignoring FIN flag when in FIN_WAIT state
- Bug 2717 - internet: Fix mask for Ipv4RoutingTableEntry::CreateDefaultRoute
- Bug 2722 - wifi: 802.11g sends DSSS spectrum signals inappropriately
- Bug 2731 - lte: Allow retranmission in RLC AM when PR expires, vtS overflows
- Bug 2732 - applications: BulkSend Tx trace is fired too much
- Bug 2733 - wifi: Ideal wifi manager cannot handle NSS higher than 1
- Bug 2741 - internet: IPv4 fragmentation fails on last fragment fragmentation
- Bug 2744 - wifi: 802.11n/ac with RTS/CTS crashes for a large number of nodes
- Bug 2751 - traffic-control: QueueDisc::Enqueue() order of operations
- Bug 2756 - internet: Ipv4AddressGenerator underestimates available addresses
- Bug 2757 - wifi: 802.11n/ac/ax maximum TXOP is not properly enforced
- Bug 2758 - internet: IPv4 sockets bound to unicast receiving subnet broadcast
- Bug 2759 - internet: Packet conversion from broadcast to subnet-directed
- Bug 2760 - internet: OLSR uses unicast-bound sockets to receive broadcasts
- Bug 2761 - wifi: Packet has no Traffic ID for CTS frames when A-MPDU is used
- Bug 2762 - internet: BindToNetDevice behaviour is not coherent with Linux
- Bug 2763 - wifi: management packets in PCAPs are marked as wrong by Wireshark
- Bug 2769 - tcp: Set ssthresh correctly upon RTO
- Bug 2771 - wifi: IdealWifiManager problems under different number of antennas
- Bug 2776 - wifi: Fix segmentation fault in MacLow
- Bug 2777 - lte: Save bearer info in m_drbMap, needed for handover request
- Bug 2781 - tcp: Do not go beyond limit in TcpTxBuffer
- Bug 2783 - wifi: MonitorSnifferRx SNR is invariant to RxNoiseFigure
- Bug 2786 - lte: Remove unimplemented declaration
- Bug 2796 - tcp: NSC TCP transmission flow control not working
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.26
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.26.tar.bz2
Supported platforms
-------------------
This release is intended to work on systems with the following minimal
requirements:
- g++-4.8 or later
- clang-3.3 or later
- Python 2.7 (Python 2 series)
- Python 3.4 or later (Python 3 series)
This release has been tested on the following platforms:
- Ubuntu 16.04 (64 bit) with g++-5.4.0
- Ubuntu 14.04 (64 bit) with g++-4.8.2
- Fedora Core 24 (64 bit) with g++-6.1.1
- Fedora Core 22 (32 bit) with g++-5.3.1
- Fedora Core 21 (64 bit) with g++-4.9.2
- CentOS/RHEL 6.7 (64-bit) with g++-4.9.2
- OS X El Capitan 10.11.4 with Xcode 7.3.1 and Apple LLVM version 7.3.0
- OS X El Capitan 10.11.3 with Xcode 7.2.1 and Apple LLVM version 7.0.2
New user-visible features
-------------------------
- (aodv) The node search radius is increased progressively (as per standard).
- (build system) New --check-config option to waf to reprint the summary
of optional features which are configured.
- (build system) C++11 features are now supported in the codebase
- (core) DES Metrics support; see the API docs for class DesMetrics.
- (internet) Added TCP Vegas, Scalable, Veno, Illinois, Bic, YeAH, and
H-TCP congestion control algorithms
- (internet) Add a TOS field to the InetSocketAddress class
- (network) SocketAddressTag has been removed from the codebase.
Users can use RecvFrom (for UDP) or GetPeerName (for TCP) instead.
- (traffic control) Added the FQ-CoDel and PIE queue disc models
- (traffic control) Introduce Byte Queue Limits (BQL)
- (wifi) A new SpectrumWifiPhy physical layer model, making use of the
ns-3 spectrum framework, has been introduced. The current version of
this model matches the API and behavior of YansWifiPhy closely, but
over time is expected to support a different PHY abstraction and error
models.
- (wifi) IEEE 802.11e TXOP limits are now enforced for different access
categories when a QoS MAC is configured.
Bugs fixed
----------
- Bug 231 - Avoid adding SocketAddressTag (at all)
- Bug 1579 - Final fix for segfault caused by EDCA fragmentation
- Bug 1797 - Rate adaptation algorithms don't work with new 802.11n/ac standards
- Bug 1911 - AODV doesn't work with more than one NetDevice
- Bug 1939 - Aggregating the same object to two nodes produce unexpected results
- Bug 1977 - v4Ping verbose output when not explicitly stopped
- Bug 2057 - ARP and Ndisc caches should be updated by receiving valid L3 packets
- Bug 2069 - Avoid integer overflow in ByteTagList
- Bug 2102 - Ipv4GlobalRouting confused by bridged interfaces
- Bug 2123 - AODV doesn't use / honor IP TTL in the RREQ / RREP
- Bug 2149 - support deprecating attributes and trace sources
- Bug 2222 - incorrect EDCA behavior in case of internal collision
- Bug 2270 - Support -std=c++11 by default
- Bug 2306 - Raise DCF IsBusy() condition for CCA busy
- Bug 2307 - Get rid of m_receivedAtLeastOneMpdu flag
- Bug 2308 - PacketTag instead of ByteTag in LTE PDCP/RLC
- Bug 2344 - Attribute names can't have spaces
- Bug 2346 - sixlowpan CompressionThreshold limit can be violated
- Bug 2347 - LrWpan Ascii traces are hooked to the wrong traces.
- Bug 2351 - Fix symbol rate calculation for channels with 10 and 5 MHz width
- Bug 2352 - Add 'drop oldest' drop policy to WifiMacQueue
- Bug 2369 - Generate backoff if DCF requests access during AIFS
- Bug 2375 - Flowmonitor parse crashes when no pkt is received
- Bug 2376 - New A-MPDU might not be received if MPDUs of a previous A-MPDU are lost
- Bug 2377 - SocketIpTosTag and SocketIpv6TclassTag may be added twice in UDP
- Bug 2378 - A-MPDU variables are not correctly reset in YansWifiPhy when a PLCP preamble/header failed
- Bug 2379 - BlockAckRequest should not be part of single-TID A-MPDUs
- Bug 2380 - EdcaTxopN fails to retrieve TID for ADDBA requests, ADDBA responses and DELBA frames
- Bug 2383 - IPv4 header for reassembled packets reports a wrong payload size
- Bug 2386 - Move UanPhyGen out of Tx mode when energy depleted
- Bug 2387 - Fix waf --check-profile command
- Bug 2390 - WaypointMobilityModel::AddWaypoint lazy notify schedules an event using absolute time (should be relative time)
- Bug 2392 - SYN segment advertised window should not be scaled
- Bug 2395 - Upgrade pybindgen for Python >= 3.5
- Bug 2396 - move utility functions to WifiPhy
- Bug 2397 - add backoff and cw tracing to EDCA
- Bug 2398 - add SNR tag to beacons and probe responses
- Bug 2401 - Deserialize correctly the len of options in TcpHeader
- Bug 2402 - IPv4 Interface forwarding state is not honored
- Bug 2406 - Poor 802.11g performance in ad-hoc mode
- Bug 2408 - Simulation fails when 802.11n/ac is running with HT Minstrel and pcap enabled
- Bug 2412 - align WifiPhy frequency and channel number
- Bug 2414 - UdpSocket doesn't call NotifyConnectionFailed
- Bug 2419 - BsmApplication should use RecvFrom and not SocketAddressTag
- Bug 2420 - Remove code duplication between Wifi and Wave modules
- Bug 2421 - Forbid negative RemainingAmpduDuration for the last A-MPDU
- Bug 2425 - UdpSocketImpl simplification
- Bug 2427 - 802.11ac selects wrong slot duration
- Bug 2433 - Bic does not copy private parameters
- Bug 2436 - Do not send block ack if received A-MPDU not addressed to station
- Bug 2438 - Routing protocols should stop processing packets coming from a non-forwarding interface
- Bug 2439 - SixLowPan Compression kind need to be casted to int in the Print function
- Bug 2440 - SocketIpTosTag might be added twice if a packet is sent multiple times
- Bug 2442 - ConfigStore crash if object container has null item
- Bug 2443 - Increase application counters to accommodate Gbps transfer rates
- Bug 2444 - PcapHelper DataLinkType enum should have a name
- Bug 2445 - Out of bounds array access in Minstrel HT rate control
- Bug 2446 - Fix comma delimiter instead of pipe delimiter in Attributes
- Bug 2448 - Run examples in traffic control test suite
- Bug 2452 - Add Object::IsInitialized method
- Bug 2454 - DsrRouting::NotifyDataReceipt is also triggered for wifi management packets
- Bug 2461 - TCP BIC should copy private members
- Bug 2468 - Simulation with A-MPDU enabled hangs when fragmentation threshold is smaller than MSDU size
- Bug 2469 - send Block Ack Request upon short/long retry failures
- Bug 2474 - UdpEchoClient does not call Connect with addresses of type Inet[6]SocketAddress
- Bug 2477 - Partial fix for wifi asserts when transmit cancels a reception
- Bug 2479 - Flow monitor does not a have a "DROP_QUEUE_DISC" drop reason
- Bug 2480 - Use SQLite prepared statements
- Bug 2481 - Missing or incorrect group names
- Bug 2484 - Corrected the exit from CA_LOSS state in TCP
- Bug 2486 - NextTxSequence was not traced back from TCB
- Bug 2488 - Error in UanPdp::SumTapsFromMaxNc
- Bug 2496 - BSS membership selector in SupportedRates
- Bug 2500 - Ipv[4,6]RawSocket ignores IpTtl tag
- Bug 2507 - ConfigStore RawTextConfigLoad doesn't reset stream error state
- Bug 2508 - Duplicate of bug 2507
- Bug 2514 - The maximum transmission time for VHT A-MPDUs is not correct
- No BugId - Arp logging: label with request or reply properly
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.25
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.25.tar.bz2
Supported platforms
-------------------
This release has been tested on the following platforms:
- Ubuntu 15.10 (64 bit) with g++-5.2.1
- Ubuntu 14.04 (64 bit) with g++-4.8.2
- Fedora Core 23 (64 bit) with g++-5.3.1
- Fedora Core 22 (32 bit) with g++-5.1.1
- Fedora Core 21 (64 bit) with g++-4.9.2
- Arch Linux (64 bit) with g++-5.3.0 and clang++-3.7.1
- CentOS/RHEL 6.7 (64-bit) with g++-4.4.7
- OS X El Capitan 10.11.4 with Xcode 7.3 and Apple LLVM version 7.3.0
- OS X El Capitan 10.11.3 with Xcode 7.2.1 and Apple LLVM version 7.0.2
- OS X Yosemite 10.10.5 with Xcode 7.2.1 and Apple LLVM version 7.0.2
- FreeBSD 10.2-RELEASE (64 bit) with clang-3.4.1
New user-visible features
-------------------------
- (internet) The native TCP implementation has been refactored, for the
following improvements:
1) congestion control has been aligned with the Linux architecture,
to facilitate easier coding of new congestion control algorithms
or porting implementations from the Linux kernel,
2) Fast Retransmit and Fast Recovery algorithms, compliant to RFCs, are
shared by all TCP variants, unlike previous releases.
3) TCP Hybla and TCP HighSpeed variants have been added.
- (routing) The PrintRoutingTable* functions now print the following information
each time they are called:
1) the node ID,
2) the global time,
3) the local time (allowing for future introduction of per-node clocks),
4) the routing protocol type
- (traffic control) A traffic control sublayer has been added with the aim of
introducing an equivalent of the Linux Traffic +Control infrastructure into
ns-3. This layer sits in between the NetDevices (L2) and the network
protocol (e.g. IP). It is in charge of processing packets and performing
actions on them: scheduling, dropping, marking, policing, etc. Initial
support for flow control has been added to the PointToPointNetDevice;
backward-compatible support for other device types is provided.
- (traffic control) A three band priority queue modelled after Linux
pfifo_fast queueing discipline has been added.
- (traffic control) Adaptive RED extensions have been added to the RED model
- (wifi) A number of changes related to improving support for 802.11n/ac
models have been introduced.
1) Two rate controls compatible with High Throughput (HT) Wi-Fi modes
(e.g. 802.11n/ac), Ideal and MinstrelHT, have been added
2) Support for multiple spatial streams (MIMO) using existing SISO
error models
3) The WiFi helper API for the WifiMac sublayer, and the configuration
of HT modes and parameters, has been simplified
4) Better support for backward compatibility with legacy modes
- (wifi) 802.11g was made backward compatible with 802.11b networks
- (internet) L4 protocols (e.g., TCP, UDP, ICMP, etc.) can be demultiplexed
by IP according to the incoming interface. In other words, it is now
possible to use specialized L4 protocols according to the interface.
- (internet) Ipv6Address::IsAllHostsMulticast() is now deprecated.
FF02::3 is not in the official reserved IPv6 multicast address list.
- (internet) Ipv6Address::IsAll[Nodes,Routers]Multicast() now checks the
address scope beyond the simple link-local. Nodes are checked for
Interface-Local, Link-Local and Realm-Local, Routers for the above plus
Site-Local.
- (internet) Ipv6 routing protocols must now *not* forward packets to upper
layers unless for extremey specific cases. The Ipv6L3protocol handles
almost all the packets directed to the host.
- (internet) Ipv6 can now reject packets directed to an address not configured
on the interface they are received from (Strong End System Model, RFC 1222).
- (internet) UDP and Ipv6 RAW sockets can now join Ipv6 multicast groups.
Incoming packets will be filtered according to if there's a socket listening
to that group. Source filtering is left to the application.
- (network) ns-3 is now capable of serializing cooked (SLL) headers. This is
used in DCE to allow the generation of pcap directly readable by wireshark.
- (internet) It is now possible to set custom values for RipNg Link Down
(standard is 16).
- (internet) permanent (static) NDISC entries can be created for IPv6
- (internet) IPv4 RIPv2 protocol model is now available.
Bugs fixed
----------
- Bug 1132 - useless for loops in block-ack-test-suite.cc
- Bug 1205 - EDCA is incorrectly modelled as DCF
- Bug 1571 - TCP zero-window and flow control window updates by the receiver
- Bug 1631 - Acoustic modem Energy consumption calc is wrong
- Bug 1761 - Rounding with olsr::EmfToSeconds
- Bug 1783 - BytesInFlight value fixed
- Bug 1954 - Serialized size of wifi-net-device differ for TX and RX trace
- Bug 1999 - PointToPointRemoteChannel invokes PointToPointChannel constructor
- Bug 2003 - Missing DSSS short PLCP preamble
- Bug 2041 - TCP RTO needs unit tests
- Bug 2068 - Timestamp option conforms to RFC 7323
- Bug 2102 - Make global routing robust to bridged links
- Bug 2116 - refactoring aggregation API
- Bug 2120 - 802.11g networks are not compatible with 802.11b clients
- Bug 2141 - TCP DataSent callback now correctly notifies sent data, without missing bytes in particular conditions
- Bug 2150 - The TCP sender keeps retransmitting and does not terminate the connection after some retries.
- Bug 2159 - TCP advertises wrong receive window
- Bug 2176 - Building IPv4 address from char* doesn't look reliable
- Bug 2183 - LiIonEnergySourceHelper is not in the energy wscript
- Bug 2184 - Integer overflow in Wi-Fi MacLow; remove dependency between tx and rx reference number field in MPDU status
- Bug 2185 - WiFi MacLow may respond to errored frames that it should ignore
- Bug 2193 - Simulation fails when transmitting very small MPDU subframes
- Bug 2195 - Udp[*]Client can't send packets to broadcast address
- Bug 2201 - Simulation fails when active probing is used in 802.11n/ac with channel bonding enabled
- Bug 2206 - Split internet-apps from applications
- Bug 2207 - Print node ID and time when printing routing tables
- Bug 2208 - Interface index based L4 protocols
- Bug 2210 - set Order field to 0 for HT/VHT
- Bug 2211 - Ipv{4,6}EndPoint can cause memory corruption
- Bug 2213 - Inconsistencies may exist between the selected WifiMacHelper and the chosen 802.11 version
- Bug 2219 - SixLowPanNetDevice hangs trying to decode a IPv6 Fragment extension header
- Bug 2224 - scope of GetAmpduExist() in EdcaTxopN
- Bug 2233 - Implement RFC 1222 - Strong End System Model
- Bug 2234 - Ipv6L3Protocol should trash multicast packets not interesting for the node
- Bug 2238 - Ipv6 routing reorganization
- Bug 2242 - Mobility of both sender PHY and receiver PHY set to sender mobility in lr-wpan-phy-test.cc example.
- Bug 2243 - TCP Socket Fork() fails to copy some parameters, causing connections to close prematurely on retransmit
- Bug 2246 - Some DSR LogComponents and classes are not defined in a unique way.
- Bug 2247 - Disabled Fast retransmit after an RTO
- Bug 2249 - LTE perl speed tests possibly broken
- Bug 2252 - Nix needs StaticRouting to work
- Bug 2254 - Ipv[4,6]RawSocket can return the wrong number of bytes sent.
- Bug 2255 - Ipv6RawSocket does not call data sent callbacks.
- Bug 2257 - Ipv[4,6]InterfaceContainer::Add are not consistent
- Bug 2258 - TcpSocketBase updated options and RTT for out of range segments.
- Bug 2259 - GSL not successfully enabled for Wi-Fi DSSS error rate model
- Bug 2262 - Corrected initial slow start threshold value
- Bug 2266 - NixRouting info are not copied during a packet fragmentation.
- Bug 2267 - Wrong channel bandwidth value in pcap files
- Bug 2271 - Decision to enable RTS/CTS handshake for A-MPDUs should be based on the comparison between RtsCtsThreshold and the total A-MPDU size
- Bug 2272 - SixLowPan NetDevice can not send uncompressed packets larger than 802.15.4 MTU
- Bug 2273 - WeakEs model should be enforced in Static and Global routing
- Bug 2275 - AdhocWifiMac not compatible with 802.11n/ac
- Bug 2279 - Ipv[4,6]L3Protocol::GetInterfaceForDevice speedup.
- Bug 2283 - Add capability to use pcap trace files with nanosecond precision timestamps
- Bug 2286 - Support for SLL header (de)serialization.
- Bug 2287 - FlowMonitor is confused by IP over IP.
- Bug 2288 - Ipv4 broadcast and multicast packets are replicated on all the interfaces.
- Bug 2289 - RIP v2 implementation
- Bug 2290 - Cannot run click examples from test.py
- Bug 2292 - Uninitialized variables since commit 7c60a9f8f271
- Bug 2293 - Red Queue Estimator spins when trying to compute queue average size under long idle times.
- Bug 2297 - 802.11n/ac networks are not compatible with legacy clients
- Bug 2302 - Fixing RTT calculation inside TCP Socket
- Bug 2303 - WifiMacQueue::GetSize should cleanup queue beforehand
- Bug 2304 - DSCP Set/Get are using 8 bit values instead of 6
- Bug 2307 - m_receivedAtLeastOneMpdu is not always reset
- Bug 2311 - save Ht/Vht capabilities info on a per-station basis
- Bug 2313 - Assert failed when using aggregation and RTS/CTS
- Bug 2315 - Problem when BACK Request is part of an A-MPDU
- Bug 2316 - MacLow shall use a single TXVECTOR for all MPDUs belonging to a same A-MPDU
- Bug 2317 - Get the non-HT reference rate of a HT MCS
- Bug 2318 - MPDU Aggregation fails with TCP
- Bug 2319 - BlockAckTimeout value is too low for 802.11n operating at 2.4 GHz
- Bug 2320 - Add method to check whether a WifiTxVector contains a valid combination of WifiMode, number of spatial streams and channel width
- Bug 2321 - Wifi rate managers should not be triggered for each MPDU when A-MPDU is used
- Bug 2327 - CWmin value selection for 802.11g is not compliant with the standard rules
- Bug 2328 - changes to antenna configuration should update HT MCS set
- Bug 2331 - Wrong mobility model in vanet-routing-compare example
- Bug 2332 - Assert failed when using aggregation and two pairs of AP-STA
- Bug 2337 - WifiPhy uses channel width in Hz iso MHz
- Bug 2338 - WifiMode selected for control frames may sometimes be invalid
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.24.1
==============
Release 3.24.1 is a maintenance release that fixes three issues:
- support for Xcode 7 clang compiler version
- detection of Python bindings location
- compilation problem on 32-bit gcc-4.4 machine
The issues prevented selected systems from being able to successfully
build ns-3, and prevented the released version from being able to
detect the presence of pybindgen used for Python bindings.
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.24.1.tar.bz2
Supported platforms
-------------------
This release has been tested on the following platforms:
- Ubuntu 15.04 (64 bit) with g++-4.9.2
- Fedora Core 22 (32 bit) with g++-5.1.1
- Fedora Core 21 (64 bit) with g++-4.9.2
- Ubuntu 14.04 (64 bit) with g++-4.8.2
- Ubuntu 12.04.4 (64 bit) with g++-4.6.3
- CentOS/RHEL 6.7 (64-bit) with g++-4.4.7
- OS X Yosemite 10.10.5 with Xcode 7 and Apple LLVM version 7.0.0
- OS X Yosemite 10.10.5 with Xcode 6.4 and Apple LLVM version 6.1.0
- FreeBSD 10.2-RELEASE (64 bit) with clang-3.4.1
New user-visible features
-------------------------
Features are identical to release 3.24.
Bugs fixed
----------
- Bug 2181 - Xcode 7.0 compiler warnings trigger build failure
- Bug 2182 - pybindgen required version is now a string literal
- Bug 2184 - integer overflow in MacLow
Release 3.24
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.24.tar.bz2
Supported platforms
-------------------
This release has been tested on the following platforms:
- Ubuntu 15.04 (64 bit) with g++-4.9.2
- Fedora Core 22 (32 bit) with g++-5.1.1
- Fedora Core 21 (64 bit) with g++-4.9.2
- Ubuntu 14.04 (64 bit) with g++-4.8.2
- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3
- CentOS/RHEL 6.7 (64-bit) with g++-4.4.7
- OS X Yosemite 10.10.4 with Xcode 6.4 and Apple LLVM version 6.1.0
- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1
New user-visible features
-------------------------
- (build system) Python 3 is now supported by waf and test runner programs
- (wifi) 802.11ac Very High Throughput (VHT) physical layer modes are now
supported.
- (internet) permanent (static) ARP entries can be created for IPv4
- (network) SimpleChannel allows per-NetDevice blacklists, in order to do hidden terminal testcases.
- (documentation) TracedCallback function signatures now documented in Doxygen
Bugs fixed
----------
- Bug 730 - Enabling fragmentation at run-time breaks simulation
- Bug 1249 - doxygen comments on device-level SetMobility ()
- Bug 1482 - mesh module was producing fatal error with ASCII and netanim traces
- Bug 1557 - errors in function OpenFlowSwitchNetDevice::BufferFromPacket()
- Bug 1681 - m_lastNavStart is assigned twice continuously
- Bug 1736 - default dot11EDCATableMSDULifetime
- Bug 1901 - mesh module producing malformed pcaps
- Bug 1929 - TcpL4Protocol::Send must indicate the source address to routing (if known)
- Bug 1982 - AODV and mesh modules use random variables before seeds can be set
- Bug 2058 - TCP window update can shrink left edge of window
- Bug 2063 - FdNetDevice::SendFrom assert does not account for headers correctly
- Bug 2082 - Empirical RV fails if value provided in CDF function is negative
- Bug 2093 - MultiModelSpectrumChannel::GetDevice only works for 0-th index
- Bug 2096 - Wrong pcap information when MPDU aggregation is used
- Bug 2104 - Sequence Number passed to QosUtilsMapSeqControlToUniqueInteger instead of Sequence Control
- Bug 2108 - Erroneous implementation in InterferenceHelper
- Bug 2119 - Fix memory leaks in FdNetDevice test due to non-executed events
- Bug 2124 - UdpSocketImpl::ShutdownRecv doesn't stop the Ipv[4,6]EndPointDemux
- Bug 2125 - subclasses must chain up to base class NotifyNewAggregate
- Bug 2126 - LrWpanNetDevice silently accepts no mobility on the node
- Bug 2127 - Scheduler benchmark utility works in first run only
- Bug 2130 - Allow SimpleChannel to simulate hidden terminals
- Bug 2132 - TcpL4Protocol sends a bad-formatted RST packet
- Bug 2135 - TCP doesn't honor the socket's output interface
- Bug 2136 - The usage of tid in wifi and wave module shall be "if (tid > 7)" rather than "if (tid >= 7)"
- Bug 2138 - SimpleNetDevice could send overlapped packets
- Bug 2143 - maybe-uninitialized warning
- Bug 2146 - bug in WAVE channel coordination
- Bug 2148 - Ipv6Interface::SetUp doesn't re-create the Link-Local addresses
- Bug 2153 - Incorrect power limits in wifi power control algorithms
- Bug 2154 - Incorrect power calculation in wifi power adaptation examples
- Bug 2156 - Duplicate packets when using two level aggregation
- Bug 2157 - OpenFlowSwitchNetDevice::BufferFromPacket setting eth_type incorrectly
- Bug 2158 - OpenflowSwitchNetDevice flooding bug
- Bug 2165 - server replies to SYN (with option TS) with a SYNACK (with option TS) also if the attribute Timestamp is false
- Bug 2166 - SteadyStateRandomWaypointMobilityModel directs the node to the ground
- Bug 2170 - AnimationInterface outputs improperly formed XML
- Bug 2171 - power-adaptation-distance.cc:202:22: error: call to 'pow' is ambiguous
- Bug 2173 - WifiInformationElement::DeserializeIfPresent attempts to read beyond the end of buffer
- Bug 2174 - m_rWnd not updated when segments without ACK are received
- Bug 2177 - Ipv6ExtensionFragmentHeader length is initialized to a wrong value.
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.23
============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.23.tar.bz2
Supported platforms
-------------------
This release has been tested on the following platforms:
- Ubuntu 15.04 (64 bit) with g++-4.9.2
- Fedora Core 21 (64 bit) with g++-4.9.2
- Ubuntu 14.04 (64 bit) with g++-4.8.2
- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3
- CentOS/RHEL 6.6 (64-bit) with g++-4.4.7
- OS X Yosemite 10.10.3 with Xcode 6.3.1 and Apple LLVM version 6.1.0
- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1
New user-visible features
-------------------------
- (network) CalculateTxTime has been declared obsolete.
CalculateBytesTxTime and CalculateBitsTxTime are to be used instead.
The return value is a Time, instead of a double.
- (mobility) Classes added for converting geographic to cartesian coordinates.
- (spectrum) TvSpectrumTransmitter models added to create television
transmitter(s) that transmit PSD spectrums customized by attributes such
as modulation type, power, antenna type, channel frequency, etc.
- (wifi) Several model improvements have been made. Access points now
establish BSSBasicRateSet for control frame transmissions. PLCP header
and payload reception have been decoupled for improved PHY modeling
accuracy. RTS/CTS with A-MPDU is now fully supported, and 802.11n
stations now support two-level aggregation.
Bugs fixed
----------
- Bug 1757 - RLC AM not using NACK_SN
- Bug 1974 - CalculateTxTime should return a Time, not a double
- Bug 1982 - AODV and mesh use random variables before seed can be set
- Bug 2004 - Wrong timeout calculation for 802.11n in WifiMac
- Bug 2008 - (lr-wpan) Crash if ending rx while status change is in progress
- Bug 2025 - (lr-wpan) Changing the channel doesn't affect the Tx params
- Bug 2034 - (lr-wpan) CSMA-CA BackoffPeriod is too short
- Bug 2054 - TCP window update can shrink the Left Edge of the window
- Bug 2066 - A-MPDU reception should check for successful preamble
- Bug 2067 - TCP performance when advertised window exceeds sender buffer size
- Bug 2070 - Wrong report of Packets and Bytes stored in CoDeL
- Bug 2073 - NDisc cache entries update timer might be stuck in a loop
- Bug 2075 - A-MPDU using RTS/CTS behaves wrongly when MaxSsrc is reached
- Bug 2076 - TCP MinRTO Attribute is not actually used
- Bug 2077 - Icmpv6L4Protocol::HandleDestinationUnreachable must check the packet size, not its serialized size
- Bug 2079 - mcs variable in ht-wifi-network example is confusing
- Bug 2082 - Empirical RV fails if the value provided in the CDF member function is negative
- Bug 2083 - BridgeNetDevice may send corrupted packets
- Bug 2087 - Waf fails to build ns-3 if the path contains accented characters
- Bug 2090 - (rip-ng) Routes may be added twice on interface activation
- Bug 2093 - MultiModelSpectrumChannel::GetDevice only works for 0-th index
- Bug 2095 - (wimax) Wrong values in default-traces.h for 16 QAM 3/4
- Bug 2097 - ACKs should be sent using legacy rates and preambles in 802.11n
- Bug 2103 - Ipv[4,6]RoutingHelper::PrintRoutingTableAll[At,Every] hangs if a node doesn't have IP
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.22
============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.22.tar.bz2
Supported platforms
-------------------
This release has been tested on the following platforms:
- Fedora Core 21 (64 bit) with g++-4.9.2
- Ubuntu 14.10 (32 bit) with g++-4.9.1
- Ubuntu 14.04 (64 bit) with g++-4.8.2
- Ubuntu 12.04.4 (32/64 bit) with g++-4.6.3
- CentOS/RHEL 6.6 (64-bit) with g++-4.4.7
- OS X Yosemite 10.10 with Xcode 6.1.1 and clang-600.0.56
- FreeBSD 10.1-RELEASE (64 bit) with clang-3.4.1
New user-visible features
-------------------------
- (wifi) Support for MPDU aggregation has been added to the wifi model,
as well as a number of related example programs.
- (wifi) Added two combined power and rate control mechanisms to the
wifi module. The new mechanisms, PARF and APARF, are the first in the
wifi module to jointly control transmission power and data rate. Two use
case examples (PowerAdaptationDistance and PowerAdaptationInterference)
and a test case have also been added.
- (lte) In previous releases of the LTE module, the bearer release
functionality was only partially supported. As an enhancement, a
complete release bearer procedure is now implemented, which can be
invoked by calling the new helper method
LteHelper::DeActivateDedicatedEpsBearer(). The related output can be
seen through the stats collected at different layers like PDCP, RLC,
MAC, PHY. To support this implementation, an example and test suite is
added within the LTE module examples and tests folder.
- (wave) Additional support has been added for WiFi-based vehicular networks,
including the channel-access coordination features of IEEE 1609.4 and a
comprehensive VANET routing example that includes a Basic Safety
Message (BSM) packet generator application and associated statistics
counters. Together, these allow users to evaluate the performance effects
in a VANET of varying transmission and channel properties (e.g., packet
rate, message size, transmit power, propagation loss model, impact of
routing protocol traffic, etc.).
- (internet) It is now possible to print the Neighbor Cache (ARP and NDISC)
by using the RoutingProtocolHelper
- (stats) A new TimeProbe class has been added to hook the data collection
framework to traced values emitting Time objects
- (documentation) the callback function signatures for all TraceSources
is documented in Doxygen
- (utils) print-introspected-doxygen.cc has had several enhancements;
use -h to read the usage message for details.
- (core) TracedValue and TracedCallback function signatures are now documented,
which required changing the TypeId::AddTraceSource API.
Bugs fixed
----------
- Bug 1405 - RttEstimator improvements
- Bug 1551 - NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
- Bug 1726 - WiFi Minstrel rate control algorithm doesn't save state
- Bug 1734 - TcpSocketBase produces spurious delayed ACKs
- Bug 1758 - Yans and Nist error rate models for 5/6 code rate 802.11n HT
- Bug 1770 - mesh test and example crash for 32-bit optimized builds
- Bug 1774 - compute signal power around channel, not across whole band, and fix LrWpanHelper to add a default PropagationDelayModel
- Bug 1791 - TCP Endpoint never deallocates when closing
- Bug 1801 - Setting Wi-Fi timing parameters through WifiMac attributes (documentation fix)
- Bug 1906 - 802.11n PHY configuration for 2.4GHz and 5GHz devices
- Bug 1957 - UdpSocketImpl is stuck after a Close()
- Bug 1968 - Missing supported 802.11n HT rates in the WifiPhy constructor
- Bug 1969 - Support short guard interval durations in 802.11n
- Bug 1970 - Missing NotifyAckTimeoutStartNow in MacLow::StartDataTxTimers
- Bug 1971 - 802.11n at 2.4 GHz should include a signal extension duration
- Bug 1972 - CommandLine duplicate argument handling: documentation updated.
- Bug 1983 - FlowMonitor returns containers copies instead of references.
- Bug 1986 - test result divergence for lte-frequency-reuse test
- Bug 1991 - PcapFileWrapper::CaptureSize attribute (snaplen) has no effect.
- Bug 1995 - avoid multiple definitions of PI
- Bug 1996 - RSRQ calculation: misleading variable names
- Bug 1997 - Fix PlotProbe() documentation and usage for GnuplotHelper and FileHelper
- Bug 2002 - Hardcoded include paths cause breakage
- Bug 2011 - Default Speed attribute in ConstantSpeedPropagationDelayModel
- Bug 2016 - Radvd do not consider the SendAdvert option and don't reply to RS
- Bug 2020 - Erroneous MCS field in 802.11n PCAP files
- Bug 2021 - Missing const qualifier in TopologyReader::Link::Attributes{Begin,End}()
- Bug 2026 - 802.11n Ness parameter badly set for data frames
- Bug 2027 - Calculation of HT training symbol duration does not accurately follow 802.11n standard
- Bug 2028 - remove unnecessary Time to double conversions in Wifi models
- Bug 2029 - new CQI generation approach fix