forked from Gabrielcarvfer/NS3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE_NOTES
3576 lines (3165 loc) · 168 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
=============
New user-visible features
-------------------------
Bugs fixed
----------
Release 3.32
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.32.tar.bz2
Supported platforms
-------------------
This release is intended to work on systems with the following minimal
requirements (Note: not all ns-3 features available on all systems):
- g++-4.9 or later
- Xcode 10.1 or later
- Python 3.5 or later
Starting with ns-3.30, Python 3 has been the only supported Python version,
and scripts default to Python 3 usage.
This release has been tested on the following systems:
- Fedora 32 with g++-10.2.1 and Python 3.8.5
- Fedora 32 with clang-10.0.0 and Python 3.8.5
- Ubuntu 20.04 with g++-9.3.0 and Python 3.8.2
- Ubuntu 18.04 with g++-7.5.0 and Python 3.6.9
- Ubuntu 16.04.6 with g++-5.4.0 and Python 3.5.2
- macOS 10.15.7 (Catalina) with Xcode 12
- macOS 10.13.6 (High Sierra) with Xcode 10.1
New user-visible features
-------------------------
- (build system) Added "--enable-asserts" and "--enable-logs" to waf configure,
to selectively enable asserts and/or logs in release and optimized builds.
- (build system) The "--enable-build-version" option has been added to waf
configure, allowing users to embed version information in the libraries
- (build system) Added support for EditorConfig
- (config-store) Improved the RawTextConfig output (see !93)
- (core) Added capability to configure STL pair and containers as attributes
- (core) The default timestamp print format for logging statements has been
changed to use the As() method that prepends +/- and appends the time unit
- (fd-net-device) Added two enhanced emulation devices based on netmap and DPDK
- (mobility) Add CartesianToGeographic coordinate conversion capability
- (network) Packet tags are now serialized and deserialized for distributed
simulations
- (network) Added LollipopCounter, a sequence number counter type
- (olsr) Some internal OLSR API has been opened up to enable cross-layer access
- (tcp) Support for dynamic pacing in TCP.
- (tcp) Added TcpLinuxReno congestion control (aligns with Linux 'reno'
- (tests) test.py text output now distinguishes between TestSuites and TestCases
congestion control).
- (traffic-control) Added, to PIE queue disc, queue delay calculation using
timestamp feature (Linux default behavior), cap drop adjustment feature
(Section 5.5 of RFC 8033), ECN (Section 5.1 of RFC 8033) and derandomization
feature (Section 5.4 of RFC 8033).
- (traffic-control) Add support for L4S mode to CoDel and FqCoDel queue discs
- (traffic-control) Add Active/Inactive feature to PIE queue disc.
- (traffic-control) Add ECN and L4S support for CoDel, FqCoDel, Cobalt queues
- (wifi) Add 6 GHz band support for 802.11ax
- (wifi) RIFS support has been removed from the model
Bugs fixed
----------
- (applications) Handle possible partial socket sends (during emulation)
- (applications) Remove stray exit call from OnOffApplication
- (internet-apps) Fixes DHCP behaviour when interface goes down and back up
- (lte) #224 - The scheduled SendMeasurementReport() event doesn't cancel after link failure detection
- (mesh) - Enable possible use with SpectrumWifiPhy
- (network) #264 - Rounding is more accurate for DataRate transmission times
- (network) !424 - Fixed instantaneous send behavior in SimpleNetDevice when queue is empty
- (tcp) !368 - Fix assert in tx-buffer when loss rate high and w/o SACK
- (tcp) !367 - Stop to merge items whose m_lost values are different
- (tcp) - Fix TcpRateOps to update m_ackElapsed like Linux
- (traffic-control) #225 - Do not ECN mark packet twice within a CoDel queue
- (wifi) - Fix radiotap header for received 802.11ax PPDUs
- (wifi) - Do not send VHT capabilities when operating in 2.4 GHz band
- (wifi) #252 - Correctly handle multicast frames
Release 3.31
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.31.tar.bz2
Supported platforms
-------------------
This release is intended to work on systems with the following minimal
requirements (Note: not all ns-3 features available on all systems):
- g++-4.9 or later
- Xcode 10.1 or later
- Python 3.5 or later
Starting with ns-3.30, Python 3 has been the only supported Python version,
and scripts default to Python 3 usage.
This release has been tested on the following systems:
- Fedora 32 with g++-10.1.1 and Python 3.8.3
- Fedora 32 with clang-10.0.0 and Python 3.8.3
- Fedora 29 with g++-8.3.1 and Python 3.7.5
- Ubuntu 20.04 with g++-9.3.0 and Python 3.8.2
- Ubuntu 18.04 with g++-7.5.0 and Python 3.6.9
- Ubuntu 16.04.6 with g++-5.4.0 and Python 3.5.2
- macOS 10.15.3 (Catalina) with Xcode 11.3
- macOS 10.13.6 (High Sierra) with Xcode 10.1
New user-visible features
-------------------------
- (antenna) Model for antenna arrays based on 3GPP model (part of Integration of the 3GPP TR 38.901 fast fading model)
- (buildings) Random walk mobility model that does not allow nodes to enter buildings
- (core) The CommandLine facility can now add the Usage message to the Doxygen for the program
- (internet) TCP DCTCP model
- (internet) An option to enable IPv4 hash-based multicast duplicate packet
detection (DPD) based on RFC 6621
- (lte) Trace sources for uplink PSD and RBs
- (propagation) 3GPP TR 38.901 pathloss and channel condition models
- (spectrum) Matrix-based channel model base class to support antenna arrays
- (spectrum) 3GPP pathloss, channel and fast fading models
- (stats) A new interface to SQLite
- (tests) Capability to run an example program as a regression test
- (traffic-control) Support for the Cake set-associative hash to the FqCoDel queue disc
- (traffic-control) Support for ECN marking to CoDel and FqCoDel queue discs
- (wifi) A Bianchi (saturation) example with a comparable MATLAB model
- (wifi) The idealized wifi rate control includes better support for different MIMO modes and channel widths
Bugs fixed
----------
If available, the numbers below make reference to a Bugzilla bug number, GitLab
issue number (prefixed by '#'), or GitLab merge request number (prefixed by '!')
- (build system) #119 - Waf --lcov-report option was broken
- (buildings) #80 - Update indoor/outdoor status of a moving node
- (core) Bug 2725 - EmpiricalRandomVariable should not interpolate
- (documentation) Bug 2636 - Add to doxygen a list of all registered TypeIds
- (internet) - Fix Ipv6Prefix length calc and add explicit prefix length constructors
- (internet) - IPv6 Duplicate Address Detection (DAD) must use Solicited-Node multicast address
- (internet) #111 - Rip and RipNg don't receive unicast packets
- (internet:tcp) - call NotifyConnectionFailed on SYN timeout
- (internet:tcp) #179 - Avoid incorrect exit of LAST-ACK state
- (internet:tcp) #182 - Fix SACK list cleaning in TcpOptionSack::Deserialize()
- (internet:tcp) !156 - Enable entering CA_RECOVERY despite large sequence number increase
- (internet:tcp) !157 - Prevent sending outside receiver window
- (lr-wpan) #212 - Rx callback must have both source mac and pan id
- (lr-wpan) !283 - Beacon collisions and timings
- (lr-wpan) !326 - Inactive Periods Queue fix
- (lte) #106 - Inconsistent imsi representation in LTE module
- (lte) #196 - Remove LteSecondaryCellSelectionTestSuite from LTE module
- (lte) #221 - Stop T310 upon receving handover command
- (network) #216 - Correct the return value for PacketSocket::SendTo()
- (network) !239 - Refactor DelayJitterEstimation to more closely follow RFC 1889 and RFC 3550
- (propagation) !269 - Fix Okumura-Hata propagation loss model for frequency > 1.5 Ghz and medium or small city
- (wifi) - Keep the medium busy if reception is aborted ahead of scheduled time
- (wifi) - Fix frame capture when signals arrive at the exact same time and add additional tests to verify these cases
- (wifi) - Fix MCS selection in ideal rate manager for cases with unbalanced MIMO settings and/or RX diversity
- (wifi) - Fix SNR computations for MIMO
- (wifi) - Fix ReportAmpduTxStatus called two times when BAR is explicitely sent upon missed BACK
- (wifi) A zero value for the backoff timer might be discarded and a new value
might be generated by an erroneous call to NotifyCollision().
- (wifi) Bug 1909, Issue #41 - Implementation of ACK timeout
- (wifi) Bug 2385, Issue #178 - IdealWifiManager can pick invalid WifiTxVector under certain MIMO conditions
- (wifi) Bug 2928 - BlockAckManager::NeedBarRetransmission returns "true" infinitely
- (wifi) Bug 2985 - PhyTxEnd tracecallback not implemented
- (wifi) Bug 3011, Issue #172 - MIMO error rate model is incorrect
- (wifi) #22 - Station long retry counter is incremented twice if BlockAck was not received
- (wifi) #40 - IdealWifiManager not working if stations are moving
- (wifi) #84 - Wi-Fi removing wrong header due to copy-paste error
- (wifi) #94 - Retransmitted frames not marked as retransmits
- (wifi) #107 - Frame capture model works incorrectly if two signals arrive at the same time
- (wifi) #110 - PCAP trace file gives unexpected results
- (wifi) #116 - Incorrect state when receiving A-MPDU in WifiPhy
- (wifi) #165 - Notify station manager when a BlockAck has not been received after the transmission of an A-MPDU
- (wifi) #169 - Ideal rate manager does not work when non best-effort traffic is used
- (wifi) #211 - Remove MSDUs with expired lifetime when (re)starting channel access
Known issues
------------
In general, known issues are tracked on the project tracker available
at https://gitlab.com/nsnam/ns-3-dev/issues
Release 3.30.1
==============
Release 3.30.1 is a maintenance release that fixes the following issues from
the ns-3.30 release:
- fix issue with Block Ack transmit window leading to low throughput or
connection dropping
- fix invalid restriction on Wi-Fi VHT Capabilities MaxMpduLength field
- support for Apple clang version 11.0.0 (macOS Catalina preview release)
- fix the handling of ICMP time exceeded responses
- fix syntax error in Wi-Fi-based Tap Bridge Python example
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.30.1.tar.bz2
Supported platforms
-------------------
The list of supported platforms includes those listed for ns-3.30 plus
- macOS 10.15 preview (Catalina) with Apple clang version 11.0.0
New user-visible features
-------------------------
Features are identical to release 3.30.
Bugs fixed
----------
- Issue #62 - ICMP does not handle ICMPv4 TIME_EXCEEDED responses
- Issue #77 - Wi-Fi VHT capabilities MaxMpduLength had invalid restriction
- Issue #79 - Wi-Fi connection drop or low throughput due to Block Ack transmit window
- Example program tap-wifi-virtual-machine.py had a syntax error
- Issue #80 - Indoor/outdoor status is not updated when the node moves
Release 3.30
============
Availability
------------
This release is available from:
https://www.nsnam.org/release/ns-allinone-3.30.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
- Xcode 10.1 or later
- Python 3.5 or later
Starting with ns-3.30, Python 3 will be the only supported Python version,
and scripts will default to Python 3 usage. Python 2.7 may continue to work
in the near term.
This release has been tested on the following systems:
- Fedora 30 with g++-9.1.1
- Ubuntu 19.04 with g++-8.3.0
- Ubuntu 18.04 with g++-7.4.0
- Ubuntu 16.04.6 with g++-5.4.0
- Linux Mint 19 Tara with g++-7.3.0
- macOS 10.14.6 (Mojave) with Xcode 10.3
- macOS 10.13.6 (High Sierra) with Xcode 10.1
New user-visible features
-------------------------
- (core) ShowProgress object can be used to report on simulation execution
- (wifi) Preamble detection can now be modelled and is enabled by default.
- (wifi) 802.11ax spatial reuse is now supported.
- (lte) Radio Link Failure (RLF) functionality is now supported.
- (lte) LTE/EPC model enhanced with new features: SGW, PGW, MME are full nodes; new S5 interface between SGW and PGW, allows simulations with multiple SGW/PGW
- (lte) LTE eNB RRC extended to support improved S1 signalling model
- (lte) Backhaul links can now use any link technology, not just point-to-point
- (traffic-control) Cobalt queue disc model has been added.
Bugs fixed
----------
During this release cycle, the project transitioned from a Bugzilla issue
tracker to a GitLab.com issue tracker. Bugs fixed from the Bugzilla tracker
include:
- Bug 2339 - lte: Use only the active RBs for uplink PSD computation
- Bug 2460 - wifi: Refactor detection thresholds in WifiPhy and add a new sensitivity threshold to throw away weak signals
- Bug 2470 - wifi: Handshake to setup the Block Ack Agreement is not protected
- Bug 2637 - build: macOS SDK headers in non-standard place
- Bug 2860 - mobility: Set Z coordinate for position-allocation classes
- Bug 2861 - lte: Forward TXOPs to the RLCs of SCCs
- Bug 2893 - lte: GetPgw in helper should be const
- Bug 2979 - lte: Remove unused code from UE RRC and UE CCM
- Bug 2980 - lte: Reset MAC and PHY of secondary carriers upon handover
- Bug 2982 - lte: Configure UE MAC SAP LteMacSapUser properly
- Bug 2988 - lte: Correction in L3 filtering formula used for UL power control
- Bug 2990 - internet: IPv6 packet shouldn't be marked with SocketIpTtlTag
- Bug 2992 - lte: Send method of the LteUeNetDevice doesn't use protocolNumber parameter
- Bug 2993 - build: Waf --enable-sudo option broken
- Bug 2997 - lte: EpcTft::PacketFilter::Matches does not use ipv6 address to match an IP packet
- Bug 3007 - build: Boost library configuration in contrib
- Bug 3027 - lte: S1 signalling is done before RRC connection establishment is finished
Bugs fixed from the GitLab.com issue tracker include:
- Issue #11 - mobility: Rectangle::GetClosestSide returns the correct side also for positions outside the rectangle
- Issue #14 - build: Check file timestamps instead of hashes for changes
- Issue #15 - build: Fix build erroneous order constraint warnings
- Issue #27 - wifi: Re-compute the A-MPDU after an RTS/CTS exchange fails
- Issue #28 - wifi: wifi error model: coded bits vs. data bits
- Issue #30 - wifi: Sequence number wrap around in MacLow::ReceiveMpdu
- Issue #32 - wifi: Example "rate-adaptation-distance.cc" fails.
- Issue #33 - wifi: Issues with QosTxop::StartNextPacket
- Issue #35 - wifi: Unexpected EDCA performance under virtual collisions for 802.11n
- Issue #42 - wifi: Check configured capture window for capture
- Issue #43 - core: Check if ObjectFactory has been configured
- Issue #45 - wifi: Wi-Fi transmits frames outside BlockAck window
- Issue #46 - internet: Export headers for transport protocol modularity
- Issue #47 - core: Return non-const reference when a const Ptr is dereferenced
- Issue #48 - wifi: Incorrect sequence comparison in BlockAckManager::NeedBarRetransmission
- Issue #53 - lte: Token Bank Fair Queue Scheduler is creating a transmit opportunity of 0 bytes
- Issue #54 - lte: RadioBearerStats are not correctly connected
- Issue #70 - visualizer: Update configuration of GooCanvas.CanvasEllipse
- Merge request !19 - wifi: Rework MSDU and MPDU aggregation code
- Merge request !22 - spectrum: Fix order of PHYs stored in MultiModelSpectrumChannel
- Merge request !30 - lte: Fix PDU delivering at the edge of reordering window
- Merge request !43 - traffic-control: Install FqCoDelQueueDisc by default
- Merge request !55 - lte: Reset preamble transmission count before starting NC based RACH
- Merge request !65 - tcp: Call BytesInFlight method before processing ack
- Merge request !67 - wifi: Pass number of data bits instead of coded bits to error models
- Merge request !85 - uan: Fix MAC address variable shadowing in subclasses
Other issues fixed:
- core: Replace int64_t operator/(Time,Time) with exact int64x64_t version, add int64x64_t scaling.
- core: Refactor LogTimePrinter, LogNodePrinter
- energy: Update remaining energy even if simulation has finished
- flow-monitor: Fix FlowMonitor::Stop () method
- mobility: Allow AssignStreams after construction for SteadyStateRandomWaypointMobilityModel
- lte: Add attribute to configure the periodicity of DL CQI reports
- lte: Fix type of them_rapIdRntiMap key
- lte: Various updates of the ComponentCarrier subclasses to accommodate NR
- lte: Fix issue with use of packet tag in LTE PDCP and RLC by using byte tag
- visualizer: Fix various issues with Python 3 and X server compatibility
- wifi: Fix A-MPDU reception logic
- wifi: Fix noise interference calculation
- wifi: Do not allow S-MPDU transmission as long as ADDBA handshake not established
- wifi: Fix frequencies for channels 54 and 126
- wifi: Fix rate used to send Block Ack Request frames
- wifi: Check that SSID in probe requests is either broadcast or corresponds to AP SSID
- wifi: Do not call ReportDataFailed if retransmission not needed
- wifi: Fix duplicate MPDUs sent in an A-MPDU when explicit BARs are disabled
- wifi: Fix issues when MSDU lifetime is expired
- wifi: Enforce capture window duration in frame capture model, and fix capture model for A-MPDU
- wifi: Correct handling of timeout situations during block ack agreement setup
- wifi: Return correct serialized size for AmpduTag
- wifi: Fix incorrect channel width when HT, VHT, or HE STA received legacy PPDU
Known issues
------------
In general, known issues are tracked on the project tracker available
at https://gitlab.com/nsnam/ns-3-dev/issues
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