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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796
|
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.17
============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.17.tar.bz2
Supported platforms
-------------------
These platforms have been tested; others may work also:
- Fedora Core 18 (32/64 bit) with g++-4.7.2
- Fedora Core 17 (32/64 bit) with g++-4.7.0
- Ubuntu 13.04 (32/64 bit) with g++-4.7.3
- Ubuntu 12.10 (32/64 bit) with g++-4.6.3
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
- OS X Mountain Lion 10.8.3 with g++-4.2.1
- FreeBSD 9.1-RELEASE (64 bit) with g++-4.2.1
New user-visible features
-------------------------
- new TCP Westwood and Westwood+ models
- new FdNetDevice model and associated helpers. The FdNetDevice is able
to read and write from a file descriptor. Various helpers are provided
to associate this descriptor with underlying devices or sockets on the
host operating system, including a packet socket for emulation, and
tap devices including a version specialized for use on PlanetLab.
- ns-3-click: it's now possible to (i) have Click pull random numbers from
ns-3 and (ii) have ns-3 set "defines" in Click via the simulation file
(see src/click/examples/nsclick-defines.cc).
- Waf shipped with ns-3 has been upgraded to version 1.7.10 and custom
pkg-config generator has been replaced by Waf's builtin tool.
- create-module.py script has been updated to work with waf 1.7 and support
for creating modules with names containing dashes has been added.
- the M5 release of the LTE module by the LENA project has been
merged; please see src/lte/RELEASE_NOTES for more detailed info
Bugs fixed
----------
- bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments
- bug 1318 - Ipv6L3Protocol::LocalDeliver can get stuck in an infinte loop
- bug 1409 - Add an attribute "SystemId" to configure the ID for MPI
- bug 1421 - Frequency dependent propagation loss models need uniform Frequency / Lambda attribute
- bug 1434 - DSR throughput not comparable to other protocols for manet example
- bug 1502 - Shutdown on tcp socket seems to misbehave
- bug 1503 - BlockAckManager infine loop
- bug 1517 - Waf clean/distclean doesn't remove the doc/html directory
- bug 1540 - Waf not finding click libraries
- bug 1549 - Test for NS_LOG
- bug 1556 - Uses of htonl making OpenFlow's match field error
- bug 1563 - Reduce valgrind test scope
- bug 1564 - Packet meta data isn't shown in dumbbell-animation.xml
- bug 1566 - WiFi SNR tag improvements
- bug 1568 - Deserialized addresses are implicity marked as Mac48Address
- bug 1569 - droptail_vs_red example doesn't run
- bug 1570 - Valgrind errors in new test examples
- bug 1574 - Node color overwritten, by mobility updates in netanim
- bug 1575 - Invert the y-axis in netanim
- bug 1576 - Frequency units HERTZ and MEGAHERTZ mix up
- bug 1577 - Typo in ascii picture in example aodv script
- bug 1579 - edca-txop-n fragmentation causes segfault
- bug 1582 - IPv6 raw socket return value is not like Linux socket
- bug 1585 - Length field of A-MSDU subframe header endianness
- bug 1586 - Building documentation fails if make runs in parallel
- bug 1588 - UdpEchoServer::HandleRead logs fail when using Ipv6
- bug 1589 - Bake - support pre-2.7 version of python
- bug 1590 - Bake - more autotools version support
- bug 1595 - Function declarations without implementations cause problems with dsr module's python bindings
- bug 1596 - Inet TopologyReader is skipping one link and duplicating another one
- bug 1600 - Icmpv6OptionLinkLayerAddress can only carry 48 bit addresses correctly
- bug 1601 - RttEstimator doesn't set the m_currentEstimatedRtt to m_initialEstimatedRtt on creation
- bug 1602 - waf build can break due to file collisions in higher-level directory
- bug 1603 - random-variable-stream-helper - this unavalable for static member functions
- bug 1607 - OnOffApplication over TCP with IPv6 support
- bug 1608 - DSR Network ACK is not handled correctly
- bug 1609 - Route Request table is needed
- bug 1612 - pyviz (visualizer) will not be installed
- bug 1613 - Can't build ns-3-dev with g++ 4.7.2
- bug 1615 - Adjusting OLSR HelloInterval Attribute results in no links
- bug 1618 - bake.py not detecting install of libxml2-dev on ubuntu
- bug 1623 - pybindgen rev809 is not able to build after Ubuntu 1210
- bug 1625 - ns-3-dev fails to build on Debian wheezy amd64
- bug 1626 - ipv6-only network can't use UDP or TCP
- bug 1632 - Prepend bake build directory to the guessed locations
that waf will look to find libraries
- bug 1633 - Bake - should not report that it is downloading qt4 when it is already installed
- bug 1635 - Small bug without Simulator::Destroy()
- bug 1636 - Compilation error flagged as unmet dependency
- bug 1637 - Bake calling apt-get for unpriviledged user
- bug 1639 - bake.py support for linux mint
- bug 1640 - bake needs to test for g++
- bug 1641 - bake reports autotools dependency, but needs automake
- bug 1661 - Variable ub1 defined but not used in ipv6-address.cc
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.16
============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.16.tar.bz2
Supported platforms
-------------------
- Fedora Core 17 (32/64 bit) with g++-4.7.0
- Fedora Core 15 (64 bit) with g++-4.6.3
- Ubuntu 12.10 (32/64 bit) with g++-4.6.3
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
- OS X Mountain Lion 10.8.3 with g++-4.2.1
- FreeBSD 8.2 (32 bit) with g++-4.2.1
- Cygwin 1.7.9-1 with g++-4.5.3
New user-visible features
-------------------------
- Support several new LTE MAC schedulers developed in GSoC 2012 project.
Those schedulers include FD-MT, TD-MT, TTA, FD-BET, TD-BET, FD-TBFQ,
TD-TBFQ, PSS. Here, FD and TD mean frequency domain and time domain
respectively.
- It's now possible to use distcc when building ns-3 by using
$ CXX='distcc g++' ./waf configure
$ ./waf build
- Support topology generation with the (external) BRITE topology generation
tool
Bugs fixed
----------
- bug 555 - DCF immediate access
- bug 976 - wifi-wired-bridging regression test fails because of
rounding errors in mobility model
- bug 1055: Wrong UAN's Thorp absorption loss model formula
- bug 1284 - ./test.py performance tests do not exist
- bug 1324 - ns3tcp-cwnd-test-suite.cc test failing
- bug 1340 - ns3tcp-loss-suite.cc tests failing
- bug 1342 - ns3tcp-cwnd-test-suite.cc tests failing
- bug 1345 - ns-3 builds with clang compiler >= 3.0
- bug 1359 - TCP cannot receive ICMP
- bug 1361 - Set TOS from Application level (sockets)
- bug 1463 - ./test.py --example should automatically detect the path
- bug 1479 - When the Ipv4RawSocket "IpHeaderInclude" Attribute set true,
Ip Checksum error
- bug 1485 - Setting global properties in config file (raw text) does
not have any effect
- bug 1493 - test.py --list should show the test type default tip
- bug 1493 - test.py --list should show the test type
- bug 1494 - test.py --constrain doesn't work
- bug 1495 - test.py claims test passed when no test was run
- bug 1506: TCP data segment piggybacking acknowledgment
- bug 1509 - RttEstimator returns invalid value in presence of errors
- bug 1516 - GtkConfigStore does not show read-only attributes
- bug 1520 - Config paths not fully documented (partial fix)
- bug 1524 - Fragmentation Threshold equals to Packet Size at MAC Layer
(Data + IP + UDP) crash the reception
- bug 1525 - Linker error with mpi on Mac 10.8
- bug 1526: Wrong calculation of pathloss within
UanPropModelThorp::GetPathLossDb
- bug 1527 - Ipv4RawSocket's BindToNetDevice not working
- bug 1528 - BindToNetDevice not working for IPv6 sockets
- bug 1531 - Crash when using NS_LOG in destructors of static objects
- bug 1532 - unimplemented LTE Scheduler methods
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.15
============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.15.tar.bz2
Supported platforms
-------------------
- Fedora Core 17 (32/64 bit) with g++-4.7.0
- Fedora Core 15 (64 bit) with g++-4.6.3
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
- OS X Mountain Lion 10.7.4 with g++-4.2.1
- OS X Snow Leopard 10.6.8 with g++-4.2.1
- FreeBSD 8.2 (32 bit) with g++-4.2.1
- Cygwin 1.7.9-1 with g++-4.5.3
New user-visible features
-------------------------
- A new random variable base class called 'RandomVariableStream', has been
introduced. This base class derives from ns3::Object, unlike the current
'RandomVariable' class which is a special type of object in the ns-3
system to date. By making this class derive from ns3::Object, it can be
handled with the Ptr class, can carry attributes, and can have its parameters
and initial state saved in the config-store subsystem. A new attribute
called "Stream" has been introduced for this class, to allow users to
better control the assignment of underlying pseudo-random sequences to
the RandomVariableStream objects (bug 101).
Bugs fixed
----------
- bug 101 - random variable initialization
- bug 1256 - Unnecessary SND.NXT advance, missing ACK for Out of Order segments
- bug 1308 - Nix-vector; do not process packets to self
- bug 1386 - assert if PositionAllocator not provided to
RandomWaypointMobilityModel
- bug 1399 - TCP not backing off retransmissions properly
- bug 1441 - IPv4 header length handling
- bug 1464 - ConfigStore Save + Load => Could not set default value
for ns3::UdpSocketImpl::IcmpCallback
- bug 1470 - define default parameter for constructor in .h file
- bug 1473 - GetQueue/SetQueue missing from Csma python bindings
- bug 1475 - "test.py --list" should sort the output
- bug 1476 - TestCase::GetName () should not be private
- bug 1477 - Click doesn't work with raw sockets
- bug 1481 - Openflow example doesn't run
- bug 1486 - Segfaults in nix-vector-routing with bridges
- bug 1489 - Jakes Log component is missing
- fixed bug with multiple LCs in UL BSR
- fixed bug with lena-dual-stripe crashes with --homeUesHomeEnbRatio=2
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.14.1
==============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.14.1.tar.bz2
Bugs fixed
----------
This hotfix release contains a fix for the PyViz visualizer and makes it
easier to add PyViz support to examples; otherwise it is the same as the
ns-3.14 release.
Release 3.14
============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.14.tar.bz2
Supported platforms
-------------------
ns-3.14 has been tested on the following platforms. Not all features are
available on all platforms; check the Installation page on the project wiki.
- Fedora Core 17 (32/64 bit) with g++-4.7.0
- Fedora Core 16 (32/64 bit) with g++-4.6.3
- Fedora Core 15 (64 bit) with g++-4.6.3
- Ubuntu 12.04 (32/64 bit) with g++-4.6.3
- Ubuntu 11.10 (32 bit) with g++-4.6.1
- Ubuntu 10.04.4 LTS (64 bit) with g++-4.4.3
- OS X Lion 10.7.4 with g++-4.2.1
- OS X Snow Leopard 10.6.8 with g++-4.2.1
- FreeBSD 8.2 (32 bit) with g++-4.2.1
- Cygwin 1.7.9-1 with g++-4.5.3
New user-visible features
-------------------------
- Transport protocol implementations (TCP, UDP) have been refactored to
support also IPv6 connections. Dual-stacked IPv6 sockets are implemented.
An IPv6 socket can accept an IPv4 connection, returning the sender's
address as an IPv4-mapped address (IPV6_V6ONLY socket option is not
implemented).
- The LTE code from the LENA project has been merged, bringing in a
significant redesign of the LTE module as well as many new features.
- An antenna module is now included, which includes different
radiation pattern models. See the corresponding new section of the
ns-3 models library documentation for details.
- A new buildings module is introduced which allows to model the
presence of buildings in a wireless network topology.
- New propagation models (OkumuraHata, ITU-R P.1411, ITU-R P.1238)
have been added
- The Dynamic Source Routing (DSR) MANET routing protocol for IPv4 was added.
- A Random Early Detection (RED) queue model has been added.
- Ipv6RoutingHelper is now in-line with Ipv4RoutingHelper concerning the RT
print functions. Various minor changes were made in Ipv6RoutingProtocol and
derived classes to make this possible.
- New "SendIcmpv6Redirect" attribute (and getter/setter functions) to
Ipv6L3Protocol. The behavior is similar to Linux's conf "send_redirects",
i.e., enable/disable the ICMPv6 Redirect sending.
- Longer and more descriptive names are used for error units in RateErrorModel
class and queue mode in Queue class. Attributes in those classes are also
changed for consistency. See API documentation for details.
- The netanim animator is now bundled with the release.
Bugs fixed
----------
- bug 603 - Simulator::Next is useless
- bug 631 - RealtimeSimulatorImpl does not handle Ctrl-C with python bindings
- bug 962 - list of paths to reach objects contains bogus entries
- bug 1000 - Make RealtimeSimulatorImpl last until stop
- bug 1053 - Need better error diagnostics in ns2-mobility-trace example
- bug 1109 - Point out the effects of ArpCache::PendingQueueSize
- bug 1179 - Add LTE trace hooks for supporting visualizer
- bug 1180 - LTE: Add TX/RX trace support
- bug 1273 - Better error message on missing Python development files
- bug 1282 - Sleep state and CCA
- bug 1283 - PacketSocket::SendTo should return number of bytes
- bug 1302 - Flow monitor bug
- bug 1304 - Tag information changed after transmission
- bug 1313 - Stddev (average.h) returning NaN
- bug 1318 - Asserts for IPv6 malformed packets
- bug 1319 - Fix Ipv6RawSocketImpl Icmpv6 filter
- bug 1325 - Python examples get valgrind errors when build subdirectories
are specified in waf
- bug 1339 - test.py uses the old name for the test runner
- bug 1348 - python bindings: deprecated conversion from string constant
to ‘char*’
- bug 1349 - TypeId.LookupAttributeByName Python bindings missing
- bug 1350 - Simulator.ScheduleWithContext Python binding missing
- bug 1351 and 1333 - TCP not able to take RTT samples on long delay network
- bug 1352 - Fixed MapAttributes, previously was mapped to a vector in
ObjectPtrContainer and (and key information was dropped).
Now the container is a map.
- bug 1354 - Building scratch subdir programs is broken
- bug 1355 - Visualizer dependencies not detected at buildtime
- bug 1357 - IPv6 fragmentation fails due to checks about malformed extensions
- bug 1362 - ICMPv6 does not forward ICMPs to upper layers (and minor
fixes to ICMPv6)
- bug 1376 - wrong wind variable's name
- bug 1378 - UdpEchoClient::SetFill () does not set packet size correctly
- bug 1379 - lte-multiple-flows example crashes
- bug 1380 - lte-phy-uplink example crashes
- bug 1391 - .ns3rc does not allow comments as expected
- bug 1392 - Modules built report does not clarify C++ or Python
- bug 1393 - IPv6 Routing Helper RT Print functions
- bug 1395 - AODV DeferredRouteOutputTag missing constructor
- bug 1396 - ARP with hardware addresses longer than 6 bytes
- bug 1399 - TCP not backing off retransmissions properly
- bug 1404 - Bound user input in tutorial third.cc program
- bug 1406 - waf exits with maximum recursion depth exceeded
- bug 1415 - examples-to-run.py doesn't work with command line arguments
- bug 1420 - no python bindings for csma-layout
- bug 1441 - IPv4 header length handling
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.13
==============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.13.tar.bz2
Supported platforms
-------------------
ns-3.13 has been tested on the following platforms. Not all features are
available on all platforms; check the Installation page on the project wiki.
- Ubuntu 11.10 (32 bit) with g++-4.5.2
- Ubuntu 11.04 (32/64 bit) with g++-4.5.2
- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6
- OS X Lion with g++-4.2.1
- OS X Snow Leopard with g++-4.2.1
- Fedora Core 16 (32/64 bit) with g++-4.6.2
-- however, g++-3.4.6 fails on Fedora 16 i686
- Fedora Core 14 (64 bit) with g++-4.5.1
- FreeBSD 9.0-RC1 (AMD64) with g++-4.2.1
New user-visible features
-------------------------
- IPv6 address generator with support for duplicate address detection
Bugs fixed
----------
- bug 962 - list of paths to reach objects contains bogus entries
- bug 1001 - Buffer::CopyData() doesn't return the number of bytes copied
- bug 1010 - Uan model sleep patch
- bug 1020 - Wrong usage of the originator sequence number in HWMP PREP
- bug 1021 - Beacon collision avoidance in Mesh module works incorrectly
- bug 1039 - Nagle's algorithm in TCP
- bug 1055 - Wrong UAN's Thorp absorption loss model formula
- bug 1059 - Unable to load trace files created from SUMO and TraNS Lite
- bug 1112 - Advance m_nextTxSequence upon retransmit after RTO
- bug 1137 - mpi module is hard-coded for openmpi
- bug 1166 - IPV4 TCP failed to send a RST when connect arrives before listen
- bug 1186 - Ipv4Header lacks DSCP and ECN
- bug 1204 - Can't Parse Time +100000000.0ns
- bug 1219 - Coding style of ns2-mobility-helper-test-suite.cc is fixed
- bug 1257 - waf install __init__ Python files even with --disable-python
- bug 1263 - waf configure fails on FreeBSD 9.0-BETA2 amd64
- bug 1266 - gdb cannot be loaded
- bug 1227 - Spurious RTO due to low min RTO
- bug 1229 - Multiplication overflow in WaypointMobilityModel::EndMobility
- bug 1242 - m_lastRtt in tcp-socket-base.cc not implemented
- bug 1256 - TCP unnecessary snd.nxt advance
- bug 1265 - Make ns-3 directory "movable"
- bug 1269 - sqlite3 not found on FreeBSD
- bug 1270 - "Checking boost includes" weirdness
- bug 1278 - Ipv4ClickRouting::HandleScheduleFromClick bug
- bug 1281 - Checksum not calculated when doing IP fragmentation
- bug 1285 - IPv6 Localhost is marked as GLOBAL instead of HOST
- bug 1290 - buffer-test.cc gets a valgrind error
- bug 1295 - Missing const qualifiers in TopologyRead
- bug 1299 - EnableAsciiIpv4All tracing doesn't show transmitted/recvd packets
- bug 1300 - HalfDuplexIdealPhy notify SpectrumInterference of AbortRx
- bug 1301 - Ns2MobilityHelper causes Node GetPosition() to return NaN
- bug 1305 - do not list modules built upon exiting waf shell
- bug 1312: TopologyRead Assert condition fix
- IPv4 packets double fragmentation was broken
- Fix wifi-clear-channel-cmu.cc example
- NetAnim: fix for bcast packet reuse
- Missing PropagationLossModel.CalcRxPower in Python bindings
- Corrected compilation behavior in Ubuntu 11.10 due to ldd behavior change
- Added required PTHREAD dependency to RT library check.
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.12.1
==============
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.12.1.tar.bz2
Bugs fixed
----------
This release fixes PyViz visualizer's python bindings; otherwise, it
is the same as the ns-3.12 release.
Release 3.12
===========
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.12.tar.bz2
Supported platforms
-------------------
ns-3.12 has been tested on the following platforms. Not all features are
available on all platforms; check the Installation page on the project wiki.
- Fedora Core 15 (32/64 bit) with g++-4.6.0
- Ubuntu 11.04 (32/64 bit) with g++-4.5.2
- OS X Lion with g++-4.2.1
- Fedora Core 14 (64 bit) with g++-4.3.4, g++-4.5.3, g++-4.4.6
- Fedora Core 12 (64 bit) with g++-4.4.4
- OS X Snow Leopard with g++-4.2.1
- Ubuntu 10.04.3 LTS (64 bit) with g++-4.4.3, g++-3.4.6
New user-visible features
-------------------------
- SpectrumChannel models now support the usage of single-frequency
propagation loss models based on the PropagationLossModel
class. These model can be used in conjunction with
the frequency-dependent propagation loss model based on the
SpectrumPropagationLossModel class already supported by
SpectrumChannel.
- Extend the attribute system extend the attribute system to store map
container objects in addition to vector containers. The ObjectMap
and related classes are patterned after ObjectVector.
- Support for IPv4 fragmentation has been added.
- Significant performance improvement for AODV in dense mobile scenarios
due to a fixed bug in RERR processing.
- WiFi traces that were named promiscuous are now renamed monitor, and
a separate flag for setting the interface to promiscuous mode has been
introduced. This disambiguates monitor mode from promiscuous mode.
- Monolithic Python bindings have been removed
Bugs fixed
----------
- bug 845 - fix ConfigStore output for changing default values
- bug 1010 - Uan model Sleep patch
- bug 1033 - Mesh airtime-metric fixed
- bug 1043 - lte-spectrum-value-helper.cc file swapped uplink/downlink freq.
- bug 1050 - ISO C++ forbids variable length array; remove all instances
- bug 1057 - LTE bearers differentiation issue
- bug 1082 - Check that log component names are correct when taken from NS_LOG
- bug 1100 - IPv6 fragmentation enhancements
- bug 1102 - IPv4 header fragment offset field not set correctly
- bug 1123 - class MinMaxAvgTotalCalculator does not implement all methods
- bug 1134 - Fix LiIonEnergySource attribute spelling for InitialCellVoltage
- bug 1139 - Broadcast packets issue in uan cw mac
- bug 1141 - MeshWifiInterfaceMac adds supported modes to wrong remote station
- bug 1163 - Ipv4EndPointDemux::AllocateEphemeralPort forget to increment port
- bug 1164 - IPV4 TCP Bind already used port failed, but without setting errno
- bug 1168 - BridgeNetDevice: default expiration time not realistic
- bug 1174 - Ns-3 does not generate static libraries
- bug 1175 - shared libraries are not versioned
- bug 1193 - AODV Hello timers scheduling skewed when RREP, RREQ are processed
- bug 1194 - AODV Incorrect RERR processing
- bug 1201 - UDP sockets need to set connected state before notifying the ConnectionSucceeded callback
- bug 1208 - Spectrum module example causing valgrind errors
- bug 1209 - ns-3-click fails to build on Fedora 15 when tests are enabled
- bug 1220 - FdReader always stops with NS_FATAL_ERROR
- bug 1222 - Incomplete PointToPointNetDevice Python bindings
- bug 1224 - ns-3-allinone fails to compile on OS X Lion
- bug 1226 - Incomplete YansWifiChannel Python bindings
- bug 1234 - GetAttributeChecker is not defined anymore but still used
- bug 1239 - Add assertion that reference count never overflows
- bug 1244 - Seg Faults in optimized builds due to missing Logging components
- Fix ARP issue in nsclick-ip-router.click and static route in nsclick-routing-node2.click
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.11
===========
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.11.tar.bz2
Supported platforms
-------------------
ns-3.11 has been tested on the following platforms. Not all features are
available on all platforms; check the Installation page on the project wiki.
- Linux x86_64 Ubuntu 11.04
- g++-4.5.2
- Linux i686 Ubuntu 11.04
- g++-4.5.2, g++-4.4.5
- Linux x86_64 Fedora Core 15
- g++-4.6.0
- Linux x86_64 Fedora Core 14
- g++-4.5.3, g++-4.4.6, g++-4.3.4
- Linux x86_64 Fedora Core 10
- g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.2, 4.4.0
- OS X Snow Leopard
- g++-4.2.1
New user-visible features
-------------------------
- The build system has been modularized, and the source code reorganized,
to allow for modular libraries instead of a single monolithic ns-3
library. User programs now link a number of smaller, per-module
libraries depending on the dependencies expressed to the build system.
Source code is now being maintained in individual modules with
consistent directory structures.
- Python bindings have also been modularized, and the bindings are now
generated into a 'ns' namespace instead of 'ns3' for the old
(monolithic) bindings. By default the bindings are now modular, with
a backward compatibility layer for older programs.
- By default, example and test programs are disabled from the build.
Users can enable them via the use of a waf command at configure time,
or automatically through the use of a new .ns3rc file.
- int64x64_t is a new type which allows portable and easy to write arithmetic
calculations that require a high degree of fractional precision.
- An interface to the Click Modular Router and an Ipv4ClickRouting
class has been added, to allow a node to use Click for external routing.
- An interface to an OpenFlow software implementation distribution has
been added to allow the simulation of OpenFlow switches in ns-3.
- ns-3 coding style requirements have been applied to the entire coding
base, resulting in a large number of whitespace changes. The coding
style has been automatically enforced by running a style checking
program (utils/check-style.py) that uses the uncrustify (v. 0.58)
program to apply changes.
- Some documentation reorganization to split documentation between
the ns-3 manual (primarily focusing on the ns-3 core) and a new
"model library" document has been started.
Bugs fixed
----------
The following lists many of the bugs fixed or small feature additions
since ns-3.10, in many cases referencing the Bugzilla bug number.
- bugfix: CsmaNetDevice ErrorModel not discarding packet
- bugfix: do not call RouteOutput() twice
- Workaround gccxml bug scanning Seconds(0) as default value
- Copy a bug fix from ns3modulescan.py into ns3modulescan-modular.py
- Modular Python bindings work (many bug fixes, more modules tested)
- Modular bindings: bug fixes, more verbose scanning
- ./waf --apiscan: fix bug in detection of whether the per-module
- Remove the 'Modules to build' debug print
- CsmaNetDevice ReceiveErrorModel was not dropping the packet
- Several "set but not used" bugs for newer compilers quick-fixed
- bug 445 - Is the class name Scalar in nstime.h appropriate?
- bug 699 - TestCase::DoRun probably should not return a bool
- bug 823 - Need finer-grained control over what goes into libns3
- bug 957 - Issue with test.py
- bug 1017 - node --> internet-stack --> node
- bug 1018 - mobility --> helper --> mobility circular dependency
- bug 1019 - common --> node --> common circular dependency
- bug 1038 - Time::Get*Seconds () return signed integer while actually returning unsigned.
- bug 1040 - Olsr and multiple interfaces
- bug 1042 - AODV RERR implosion (missing RERR_RATELIMIT)
- bug 1044 - Seconds (1e-9) creates Time that is not IsPositive ()
- bug 1047 - Multicast routes on nodes with >16 interfaces
- bug 1048 - suggested MatrixPropagationLossModel::SetLoss() API change
- bug 1049 - Issues with OLSR HNA messages sent by multiple gateways
- bug 1052 - olsr::RoutingProtocol::LinkTupleUpdated incorrect detection of asymetric link with multiple interface nodes
- bug 1054 - ipv6 InternetStackHelper EnablePcapIpv6All() broken
- bug 1056 - CSMA: padding not handled correctly for LLC encapsulation
- bug 1058 - InternetStackHelper pitfall: calling Install before adding routing protocols
- bug 1060 - Setting NqStaWifiMac Active Probing true, crashes simulation
- bug 1061 - Title level inconsistent in click.rst
- bug 1062 - rescale-pdf not working
- bug 1064 - Correct Friis propagation loss equation in spectrum module
- bug 1066 - Set Radiotap modulation type flags correctly
- bug 1069 - ApWifiMac unduly calls RegularWifiMac::Receive and crashes
- bug 1070 - csma/ipv6 examples duplicate NS_LOG_COMPONENT_DEFINE
- bug 1072 - crash upon call to Packet::AddAtEnd of fragmented packets
- bug 1075 - Python examples fail when static built is enabled
- bug 1076 - Waf gives an error if you enable only a single module
- bug 1078 - PacketTagList::Add performs NS_ASSERT counting one byte too few
- bug 1079 - MPI code doesn't compile
- bug 1081 - wutils.py refers to the old directory for visualizer module
- bug 1083 - scratch doesn't work when only some modules are enabled
- bug 1085 - Build failed: list index out of range
- bug 1086 - sanity check for not calling Object::Dispose () twice
- bug 1087 - Call MPI_Finalize to exit MPI environment
- bug 1088 - Code in scratch directory assumes all modules are enabled
- bug 1089 - lwip build issue
- bug 1090 - WifiMacQueue is not accessible through the attribute path
- bug 1092 - Problem building FreeBSD stack with g++ 4.5.2 (Ubuntu)
- bug 1094 - Object::GetObject upon dlopen
- bug 1097 - AODV routing entry set to be VALID mistakenly.
- bug 1098 - when to show users which modules are enabled?
- bug 1101 - Sqlite stats disappeared from configuration file src/wscript
- bug 1103 - Useless assignment in omnet-data-output.cc
- bug 1105 - Move topology helpers into separate per-device modules
- bug 1106 - Remove "CanvasLocation" dependencies in p2p helpers
- bug 1108 - test.py -e option needs repair
- bug 1110 - Sort alphabetically and display "Modules built" in columns
- bug 1117 - bindings failures on selected platforms
- bug 1122 - spectrum-value test should check tolerance on a per-value basis
- bug 1125 - ./waf --enable-modules fails
- bug 1131 - Bug in Ipv4L3Protocol::RemoveAddress()
- bug 1133 - DSDV: Possible bug in settling time calc
- bug 1142 - Wrong 802.11p Slot time
- bug 1146 - help string for test.py with disabled tests
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Release 3.10
===========
Availability
------------
This release is available from:
http://www.nsnam.org/release/ns-allinone-3.10.tar.bz2
Supported platforms
-------------------
ns-3.10 has been tested on the following platforms. Not all features are
available on all platforms; check the Installation page on the project wiki.
- Linux i686 Ubuntu 10.10
- g++-4.4.5
- Linux x86_64 Ubuntu 8.04.4
- g++-3.4.6, g++-4.2.4
- Linux x86_64 Fedora Core 12
- g++-4.4.4
- Linux x86_64 Fedora Core 10
- g++-3.4.6, 4.0.4, 4.1.2, 4.2.4, 4.3.4, 4.4.0
- OS X Snow Leopard
- g++-4.2.1
- OS X powerpc Leopard
- g++-4.0, g++-4.2
New user-visible features
-------------------------
- NS-3 PyViz, a live simulation visualizer, has been added. The
visualizer interacts with a running simulation, such that it uses no
trace files. It can be most useful for debugging purposes, i.e. to
figure out if mobility models are what you expect, where packets are
being dropped, etc. There is also a builtin interactive python console
that can be used to debug the state of the running objects. Although
it is mostly written in Python, it works both with Python and pure C++
simulations.
- Wi-Fi MAC high classes have been reorganised in attempt to
consolidate shared functionality into a single class. This new
class is RegularWifiMac, and it derives from the abstract
WifiMac, and is parent of AdhocWifiMac, StaWifiMac, ApWifiMac,
and MeshWifiInterfaceMac. The QoS and non-QoS class variants are
no longer, with a RegularWifiMac attribute "QosSupported"
allowing selection between these two modes of
operation.
- Support for IEEE 802.11g (specifically, rates with Modulation
Class ERP-OFDM) has been added to the wifi module. The new
WifiModes have names of the form ErpOfdmRatexxMbps, where xx is
the rate in Mbps (one of 6, 9, 12, 18, 24, 36, 48, 54), and a
WifiPhyStandard enumeration WIFI_PHY_STANDARD_80211g has been
added to allow configuration of a Wi-Fi STA supporting ERP-OFDM,
HR/DSSS, and DSSS rates (which some call an "802.11b/g" station).
- Two attributes were added to WaypointMobilityModel. The first
"LazyNotify" (default false), if enabled to true, will suppress
course change notifications if there are no position updates.
The second, "InitialPositionIsWaypoint" (default false), if enabled,
will allow an initial call to SetPosition () (before any waypoints
have been added) to be treated as the first waypoint.
- Regression testing is now completely performed within test.py
rather than a separate "./waf --regression" that consults
reference traces in the ns-3.x-ref-traces directory. In most
cases, the example programs whose traces were included in
ns-3.x-ref-traces have a corresponding test called from the
test.py program. It is still possible to write trace-based
regression tests but they are now called from the test.py
program.
- New BulkSendApplication sends data as fast as possible up to
MaxBytes or unlimited if MaxBytes is zero. Think OnOff, but
without the "off" and without the variable data rate. This
application only works with SOCK_STREAM and SOCK_SEQPACKET
sockets, for example TCP sockets and not UDP sockets.
- Extensions to the energy models: 1) a new Rakhmatov Vrudhula
non-linear battery model, 2) additional support for modeling
energy consumption in WiFi devices, 3) an example for how to add
energy models to a WiFi-based simulation (in examples/energy/
directory).
- New methods to print IPv4 routing tables to an output stream.
- A replacement implementation for TCP for IPv4. TcpSocketBase
now replaces TcpSocketImpl. There are subclasses defined for
TCP Tahoe, Reno, NewReno, and the original RFC793 without
congestion control.
- Energy support for UAN module and Li-Ion energy model.
Now each network node can have an associated energy source
from which it consumes energy. The user can specify a custom
energy model for the underwater transducer, with default values
set for WHOI acoustic transducer. Li-Ion battery model added
into energy models folder.
- Destination-Sequenced Distance Vector (DSDV) routing protocol
is a proactive, table-driven routing protocol for MANETs
developed by Charles E. Perkins and Pravin Bhagwat in 1994.
This implementation is for IPv4 routing and was contributed
by ResilNets Research Group.
- A novel model to simulate LTE networks has been added. It focuses
mainly on modeling the E-UTRA part of the system, with a particular
attention on the aspects related to the channel, PHY and MAC layers.
The most important features available at this moment are (i) a basic
implementation of both the UE and the eNB devices, (ii) RRC and
entities for both the UE and the eNB, (iii) an Adaptive Modulation
and Coding (AMC) scheme for the downlink, (iv) the management of the
data radio bearers (with their QoS parameters), the MAC queues and
the RLC instances, (v) Channel Quality Indicator (CQI) management,
(vi) support for both uplink and downlik packet scheduling,
(vii) a PHY layer model with Resource Block level granularity, and
(viii) a channel model with the outdoor E-UTRAN propagation loss
model.
- Project documentation has been converted from GNU Texinfo to Sphinx.
Bugs fixed
----------
The following lists many of the bugs fixed or small feature additions
since ns-3.9, in many cases referencing the Bugzilla bug number
- bug 824 - TCP should implement FastRecovery by default
- bug 852 - Add support for 802.11g devices
- bug 892 - WaypointMobilityModel incompatible with MobilityHelper::Install
- bug 893 - Lazy CourseChange notification for WaypointMobilityModel
- bug 903 - TapBridge does not shut down properly
- bug 953 - WiMAX channel scanning overflow
- bug 967 - Need to decouple Ipv4L4Protocols from Ipv4L3Protocol
- bug 978 - Consolidate Wi-Fi MAC high functionality
- bug 979 - Multi-octet fields in Wi-Fi headers have wrong endianness
- bug 981 - use a cache to keep track of received MPDUs under block ack
- bug 983 - handle correctly ADDBA response action frames in QadhocWifiMac
- bug 984 - EmuNetDevice should use DIX encapsulation by default
- bug 985 - WiMAX Invalid management message type on wimax-simple
- bug 988 - MacRxMiddle::SequenceControlSmaller method
- bug 990 - Error with an NS_ASSERT at uan-phy-gen.cc
- bug 991 - InterferenceHelper assertion failure
- bug 992 - Unusual (possibly incorrect assertion) in Packet::Deserialize
- bug 993 - MinstrelWifiManager::UpdateStats useless if clause
- bug 994 - PointToPointGridHelper useless if clauses
- bug 995 - Useless (possibly incorrect) comparison of unsigned int
- bug 1004 - module header not rebuilt
- bug 1005 - GetSocket() methods for OnOffApplication and PacketSink
- bug 1009 - decouple m_finSequence (TcpSocketImpl) from tx sequence numbers
- bug 1012 - UAN Throp propagation model bug
- bug 1015 - GetChannelFrequencyMhz() does not match with standard
- bug 1022 - inappropriate ASSERT in tcp-socket-impl.cc
- bug 1025 - wimax-ipv4 script exists with signal SIGSEGV when nbSS>20
- bug 1027 - RocketfuelTopologyReader is not working at all
- bug 1029 - v4Ping application endian issues
- bug 1030 - routing/aodv example fixed
- bug 1031 - Wifi hidden terminal example does not work
- bug 1032 - Unable to specify multiple Compiler/Linker flags
Known issues
------------
In general, known issues are tracked on the project tracker available
at http://www.nsnam.org/bugzilla/
Windows XP 32 bit Cygwin 1.7.7 does not seem to work because of a
problem (reported elsewhere) in linking large libraries.
Release 3.9
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-allinone-3.9.tar.bz2
Supported platforms
-------------------
ns-3.9 has been tested on the following platforms:
- Ubuntu 10.04 LTS 32/64-bit gcc-4.4.3
- Fedora Core 12 64-bit gcc-4.4.3
- Ubuntu 9.10 32-bit gcc-4.4.1
- Ubuntu 8.04 LTS 64-bit gcc-4.2.4
- Fedora Core 5 32-bit gcc-4.1.1
- Mac OS X Leopard powerpc gcc-4.0.1
- Windows Cygwin 1.7.5
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
- A reorganisation of the construction of Wi-Fi transmit rates has
been undertaken with the aim of simplifying the task of
supporting further IEEE 802.11 PHYs. This work has been completed
under the auspices of Bug 871. A consequence of this work is that
WifiModes have a new (hopefully future-proof) naming, and
simulations which specify rates by name will need updating. The
list of new rate names is given in the error message produced
when an attempt is made to use any invalid rate name (including
those that were previously valid).
- A new OFDM error rate model for WiFi (NistErrorRateModel); this model
has been validated in clear-channel testbed tests. For 802.11b, it
uses the same underlying model as the YansErrorRateModel, but it differs
from YansErrorRateModel for OFDM modes (802.11a/g). The default
YansWifiPhyHelper has been changed to use this model.
- A new NS-2 mobility trace reader supports BonnMotion, SUMO, TraNS,
etc. traces.
- An energy model for nodes and devices, including an energy source
model and device energy models allowing energy-aware devices
to notify the energy source about energy consumption.
- Rocketfuel topology dataset support for existing topology reader
Rocketfuel project:
http://www.cs.washington.edu/research/networking/rocketfuel/
- Underwater Acoustic Network (UAN) model, split in to three parts, the
channel, PHY, and MAC models to enable researchers to model a variety
of underwater network scenarios.
- the Spectrum framework, which provides support for spectrum-aware
Channel and PHY layer modeling. It features a set of classes that
allows the mathematical representation of frequency dependent
phenomena. Some example channel, propagation and device
implementations that make use of this framework are also
included.
Bugs fixed
----------
The following lists many of the bugs fixed or small feature additions
since ns-3.8, in many cases referencing the Bugzilla bug number
- IPv4 global routing code; stub networks were assumed to be /24
and added as /24 networks even if the mask is actually different
- OLSR was generating messages on non-OLSR interfaces
- ICMPv4 objects not properly registered; affected serialization code
- bug 231 - SocketAddressTag needs to be removed from a packet before
forwarding the packet to the user
- bug 385 - Add a generic "sequence number" class
- bug 473 - [PATCH] Alternative ns-2 trace reader
- bug 665 - Need Tutorial Sectino on Config Path and Tracing Use
- bug 671 - add packet-info-tag.cc for IP_PKTINFO/IPV6_PKTINFO
- bug 702 - Global routing doesn't respond to interface events
- bug 799 - Interference helper is too slow
- bug 800 - Erroneous packet sender while using aloha or cw mac in uan module
- bug 802 - Minstrel algorithm causes segmentation fault
- bug 826 - Using uint64_t instead of Time in DcfManager
- bug 828 - PacketSocket::Close does not unregister protocol handler
- bug 842 - ns-3-dev crashes using block acks
- bug 843 - Most wifi examples change BeaconInterval to unrealistic values
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx
power
- bug 846 - packet.cc triggers deprecated warning
- bug 853 - Rates for Wi-Fi control responses are incorrectly selected
- bug 854 - Support DROP_QUEUE reason-code in Ipv4FlowProbe
- bug 858 - support MSG_PEEK in IPv4/IPv6 raw socket
- bug 861 - Forwarding drops (due to no route found) were not being logged
in IPv4 or IPv6 ascii traces
- bug 869 - suggested test framework enhancements
- bug 871 - naming for WifiPhyStandard
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
- bug 874 - wrong modulation type is selected in the forwardBurst method
- bug 875 - "frame includes FCS" flag should be set in Radiotap frame header
- bug 879 - source address selection for AODV using DeferredRouteRequest
- bug 881 - Reorganise to allow wider use of WifiInformationElement
- bug 890 - several rate adaptation algorithms not tested by test.py
- bug 900: RawTextConfigLoad::Default does not load configurations
- bug 901 - Optimize Mac48Address < != and ==
- bug 902 - TCP: handle out-of-order packets during connection shutdown
- bug 905 - WimaxNetDevice loses packet uid, tags, and memory optimization
- bug 906 - NSC TCP socket fork did not copy txbuffersize over
- bug 908 - test.py should exit if waf dies
- bug 910 - Change Wi-Fi "AccessClass" to something closer to the standard
- bug 911 - IPv4/v6 multicast forwarding not going to all output interfaces
- bug 913 - Queue Enqueue/Drop trace sources behavior unintuitive
- bug 916 - EnableAsciiAll ("prefix") does not work for YansWifiPhyHelper
- bug 918 - samples/main-packet-header.cc is broken
- bug 919 - minstrel does not pass valgrind tests
- bug 921 - Inconsistent declaration of class/struct Object in object.h
- bug 922 - Inconsistent declaration of class/struct in
wifi-remote-station-manager.h
- bug 923 - Inconsistent declaration of class/struct in mac-low.h
- bug 924 - Inconsistent declaration of class/struct in <xxx>-wifi-managers
- bug 925 - Various IPv6 cc files trigger deprecated warning
- bug 926 - olsr handling of multicast packets
- bug 927 - SimpleOfdmWimaxChannel RxPower computation
- bug 930 - examples/topology-read/topology-example-sim.cc uses variable
length array
- bug 931 - Abnormal exit reports SIGSEGV on failure
- bug 932 - Support IP_HDRINCL option for Ipv4RawSocket
- bug 933 - Flushing ostream and files on abnormal program exit
(ASSERT, ABORT and FATAL_ERROR)
- bug 936 - Waf build error for python bindings on "AccessClass"
- bug 937 - bugs in ns-3 wimax
- bug 939 - EmuNetDevice uses too much memory when reading packet bursts
- bug 940 - AODV fails to set up a correct path
- bug 941 - Wifi Dcf attributes not reachable through configuration namespace
- bug 943 - Add a SO_BROADCAST socket option
- bug 944 - change default ErrorRateModel from YansErrorRateModel to
NistErrorRateModel
- bug 946 - Rocketfuel topology dataset support for topology reader
- bug 949 - Node::NonPromiscReceiveFromDevice reports a meaningless
destination address to user callbacks
- bug 950 - PointToPointNetDevice says promisc support is not implemented
but it is
- bug 955 - Install NSC for NS3 in a Itanium Architecture (ia64) with Linux 2.6.16.6
- bug 956 - Bindings failure in core (traced-value) with older gcc
- bug 958 - WiFi uses wrong default values for MTU, FragmentationThreshold
and RtsCtsThreshold
- bug 959 - Simulation never finishes when using RealtimeSimulatorImpl
- bug 960 - V4Ping does not generate checksum
- bug 961 - Problem with MPI activation
- bug 964 - AODV does not work with host addressed interfaces
- bug 965 - Problem building /src/core/callback.cc
- bug 966 - AODV originates new RREQ on each packet, when doesn't have
valid route
- bug 969 - No SocketList is present in UdpL4Protocol class
- bug 971 - fix AODV header Print functions
- bug 972 - [flow monitor] assertion fails in pv4-flow-probe.cc
Known issues
------------
Release 3.8
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-allinone-3.8.tar.bz2
Supported platforms
-------------------
ns-3.8 has been tested on the following platforms:
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
- cygwin gcc 4.3.4 (debug and optimized)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) WiMAX net device: Allow to simulated IEEE 802.16 point to multi-point based networks
b) Distributed simulation for point-to-point networks using the Message
Passing Interface (MPI) standard.
c) Matrix propagation loss model uses a two-dimensional matrix of path loss indexed
by source and destination nodes.
d) Topology read system: Allows quick and easy creation of large topologies by reading
Inet or Orbis files
e) Gauss-Markov mobility model: Adds 3-d adaptation of Gauss-Markov mobility model which
has both memory and variability
f) Steady-state random waypoint mobility model: Based on random waypoint mobility (RWM) model for case when
speed, pause and position are uniformly distributed random variables. However, initial values of these
parameters are not from uniform distribution but from stationary distribution of RWM model.
g) Two-ray ground propagation loss model: Calculates the crossover distance under which Friis is used.
The antenna height is set to the nodes z coordinate, but can be added to using the model parameter
SetHeightAboveZ, which will affect ALL stations
API changes from ns-3.7
-----------------------
API changes for this release are documented in the file CHANGES.html.
Bugs fixed
----------
The following lists many of the bugs that were fixed since ns-3.7, in
many cases referencing the Bugzilla bug number
- bug 155 - std::ostream & os" parameters not Python friendly
- bug 184 - GtkConfigStore do not support ConfigureDefault
- bug 407 - OLSR is missing HNA support
- bug 414 - No ReceiveErrorModel in SimpleNetDevice
- bug 602 - WifiRemoteStation lacks information about the access class of outgoing packets
- bug 622 - [PATCH] Friendly names for pcap traces
- bug 683 - Helper methods for pcap tracing with explicit filenames
- bug 706 - Backoff counting when starting NS.
- bug 720 - TapBridge creation fails from a script outside the ns3 tree
- bug 731 - Send function in point-to-point-net-device fails to check the return value of the Dequeue function
- bug 747 - Listening TCP socket closes on RST
- bug 748 - Cloned TCP socket uses wrong source address
- bug 772 - AODV is unable to correctly buffer packets waiting for route reply
- bug 777 - AODV ignores specified outgoing interface in RouteOutput()
- bug 778 - OLSR ignores specified outgoing interface in RouteOutput()
- bug 787 - Addition of Two Ray Ground model to propagation loss model and tests
- bug 788 - OLSR_NEIGH_HOLD_TIME should be 3 times OLSR_REFRESH_INTERVAL
- bug 789 - [PATCH] Globalrouting externalroutes to use the new GetRootExitDirections()
- bug 794 - Ipv4Mask constructor for "/yy"-notation is wrong
- bug 796 - TCP bug in ns-3-dev branch : Crash detected during retesting of Chord on ns-3-dev branch
- bug 797 - Enhancements to src/core/random-variable.cc/h
- bug 801 - ns-3.7 and SVN not coexisting nicely
- bug 802 - Minstrel algorithm causes segmentation fault
- bug 804 - null-pointer references in 3.7 internet stack
- bug 806 - TCP doesn't work over a CSMA link
- bug 807 - ns2-mobility-helper.cc: node id parsed wrong
- bug 809 - Missing Python binding for Ipv4GlobalRouting::GetRoute
- bug 810 - In TCP, Socket::GetSockName() does not return the local socket address
- bug 812 - Assert when getting socket in RecvReply for AODV
- bug 813 - Nqos AP sends packet to non associated STA
- bug 814 - Function logging causing assert in wireless examples
- bug 815 - waf shell file descriptor leak
- bug 816 - tap-creator deadlock when python bindings enabled
- bug 817 - Pareto rng constructors using scale and shape instead of mean and shape
- bug 818 - TCP Socket implementation does not set ACK flag on retransmits
- bug 819 - Build break when gtk not installed
- bug 820 - Bad things happen in test.py when logging is enabled
- bug 821 - AODV asserts with function logging enabled
- bug 822 - Move Mtu attribute from NetDevice base class to subclasses
- bug 825 - UDP-Client-server's packet loss counter not properly reset
- bug 828 - PacketSocket::Close does not unregister protocol handler
- bug 829 - TCP unbound memory problem (pending data)
- bug 833 - OnOffApplication with PacketSocket: sniffs all traffic
- bug 834 - Incorrect signature of Ipv4FlowProbe::DropLogger
- bug 835 - Unlimited receive queues in sockets == evil
- bug 836 - Delay is incremented over time with BsUplinkSchedulerSimple and BsUplinkSchedulerRtps
- bug 838 - ns-3 can't compile on MacOS with 32bit processor
- bug 839 - TestSuite wimax-ss-mac-layer crashes on Darwin 9.8.0 Power Macintosh
- bug 840 - BS scheduler does not support fragmentation for UGS flows
- bug 841 - Multicast transmission breaks with QoS Wifi
- bug 844 - YansWifiPhy::GetPowerDbm off-by-one problem when calculating Tx power
- bug 847 - Segfaults on BaseStationNetDevice with OnOffApplication and rtPS sched
- bug 849 - stray patch files in lwip directory
- bug 850 - Ipv4GlobalRouting::LookupGlobal bug
- bug 855 - waf dies badly when switching from debug to optimized build or vice versa
- bug 856 - initialize vbl
- bug 857 - Link-Local Multicast handle in Ipv4 Output processing
- bug 859 - Output interface estimation for the source address bound socket in IPv4 Raw socket
- bug 860 - waf sometimes dies while executing ns3header or gen_ns3_module_header tasks in case of
parallel jobs
- bug 862 - NotifyInterfaceUp() Adds network route even when netmask is /32
- bug 863 - Wrong Scalar arithmetics
- bug 864 - Invalid return value in UdpSocketImpl::Send and Ipv4RawSocketImpl::Send
- bug 865 - Ipv4RawSocketImpl::RecvFrom does not return from address all the time.
- bug 866 - WiMAX mobility models not aggregated to Node
- bug 867 - Minor bug in Ipv4L3Protocol::Send()
- bug 868 - invalid packet size after Ipv4L3Protocol::Send
- bug 872 - ns3::PcapFileWrapper::Write explodes stack
- bug 873 - Queue occupancy counter not decremented in WifiMacQueue::Remove()
- bug 876 - Tcp socket does not handle ShutdownRecv correctly
- bug 877 - python bindings broken with multiple inheritance ?
- bug 880 - Node sending a packet to itself via 127.0.0.1 aborts
- bug 885 - Error in Ascii tracing in Python examples
- bug 888 - Writing ascii trace to addtional tests fails
- bug 891 - WiMAX device helper does not include propagation loss model by default
- bug 894 - ./waf --run error message upon segfault
- bug 895 - SimpleOfdmWimaxPhy SNR computation
- bug 899 - EmuNetDevice::SetPromiscReceiveCallback not implemented
Known issues
------------
ns-3 builds have been known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Release 3.7
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-allinone-3.7.tar.bz2
Supported platforms
-------------------
ns-3.7 has been tested on the following platforms:
- linux x86 gcc 4.4.0, 4.3.2, 4.2, 4.1.1, 4.1 and 3.4.6 (debug and optimized)
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.4, 4.2.3, 4.2.1, 4.1.3, 3.4.6 (debug and optimized)
- MacOS X ppc gcc 4.0.x and 4.2.x (debug and optimized)
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
Unofficially supported platform
-------------------
- mingw gcc 3.4.5 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Ad hoc On-Demand Distance Vector (AODV) routing model (RFC 3561)
b) IPv6 extensions support to add IPv6 extensions and options. Two
examples (fragmentation and loose routing) are available.
c) NetAnim interface: Provides an interface to the Qt-based NetAnim
animator, which supports static, point-to-point topology-based
packet animations.
d) New topology helpers have been introduced
- PointToPointDumbbellHelper
- PointToPointGridHelper
- PointToPointStarHelper
- CsmaStarHelper
e) Equal-cost multipath for global routing: Enables quagga's equal
cost multipath for Ipv4GlobalRouting, and adds an attribute that
can enable it with random packet distribution policy across
equal cost routes.
f) Binding sockets to devices: A method analogous to a SO_BINDTODEVICE
socket option has been introduced to class Socket
g) Object::DoStart: Users who need to complete their object setup at
the start of a simulation can override this virtual method, perform their
adhoc setup, and then, must chain up to their parent.
h) Ipv4::IsDestinationAddress method added to support checks of whether a
destination address should be accepted as one of the host's own
addresses.
i) UniformDiscPositionAllocator added; distributes uniformly the nodes
within a disc of given radius.
j) ChannelNumber attribute added to YansWifiPhy. Now it is possible to
setup wifi channel using WifiPhyHelper::Set() method.
k) WaypointMobilityModel provides a method to add mobility as a set of
(time, position) pairs
l) 802.11p WiFi standards
m) UDP Client/Server application
n) Support transactions in the SQLite output interface, making it usable for larger amounts of data
API changes from ns-3.6
-----------------------
API changes for this release are documented in the file CHANGES.html.
Bugs fixed
----------
The following lists many of the bugs that were fixed since ns-3.6, in
many cases referencing the Bugzilla bug number
- bug 752: Object::DoStart is not executed for objects created at t > 0
- bug 767: Incorrect modulation for 802.11a modes
- bug 725: wifi fragmentation and RTS cannot be used at the same time
- bug 782: CreateTap () requires IP address in modes other than
CONFIGURE_LOCAL.
- bug 769: Queue::GetTotalReceived{Bytes,Packets}() broken
- bug 738 ReceiveErrorModel called too late
- Fix NSC improper response to FIN
- Fixed bug in serialization of PbbAddressBlock.
- Fix bug 780 (problem in RoutingTableComputation with asymetric links),
while adding debugging methods to OLSR.
- bug 759: Ipv6 uses wrong outgoing interface.
- bug 770: IPv6 size calculation for unknown options is wrong.
- bug 771: Radvd does not set ttl value.
- Fix bug 606: Arp depends on IP routing system
- pad out CSMA payloads to 46 bytes if needed
- Drop CSMA packets with CRC errors, rescan, dox tweaks
- Add FCS capability to CSMA
- Mesh:Dot11s: fixed airtime metric
- Get emu working again: Add Dix/Llc option, add and use contextual
realtime schedule ops, don't refcount realtime simulator impl
- bug 695 - DcfManager::UpdateBackoff () uses slow HighPrecision::Div()
- bug 674 - EIFS is not handled correctly in DcfManager::GetAccessGrantStart
- bug 739 - OLSR: Strange HTime value in HELLO messages
- bug 746 - UDP source address is not set to bound address
- bug 735 Update Olsr for local delivery
- bug 740 OLSR MprCompute () works wrong: fixed
- bug 729 Enable IPv6 over PPP.
- bug 645: fixes for opening stats file with OMNeT++
- bug 689: default energy detection and CCA thresholds are changed to be
more realistic.
- bug 733: OLSR MPR Computation give incorrect result
- Mesh: HWMP: fixed proactive routes
- Mesh: fixed FLAME PATH_UPDATE procedure, fixed mesh.cc
Known issues
------------
ns-3 builds have been known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Release 3.6
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-allinone-3.6.tar.bz2
Supported platforms
-------------------
ns-3.6 has been tested on the following platforms:
- linux x86 gcc 4.4.1, 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) 802.11 models:
- Add an implementation of the minstrel rate control algorithm
(Duy Nguyen for gsoc)
- AthstatsHelper: enables the wifi device to produce periodic
reports similar to the ones generated by madwifi's
athstats tool (Nicola Baldo)
- 10MHz and 5MHz channel width supported by 802.11a model
(Ramon Bauza and Kirill Andreev)
- Channel switching support. YansWifiPhy can now switch among
different channels (Ramon Bauza and Pavel Boyko)
b) IPv6 models:
- IPv6 interface;
- IPv6 layer;
- IPv6 raw socket;
- Static IPv6 routing;
- ICMPv6 layer;
- Some ICMPv6 error messages (destination unreachable, ...);
- Neighbor Discovery Protocol (NS/NA, RS/RA, redirection);
- Ping6 application (send Echo request);
- Radvd application (send RA);
- Examples (ping6, simple-routing-ping6, radvd, radvd-two-prefix,
icmpv6-redirect).
c) Wireless Mesh Networking models:
- General multi-interface mesh stack infrastructure (devices/mesh module).
- IEEE 802.11s (Draft 3.0) model including Peering Management Protocol and HWMP.
- Forwarding Layer for Meshing (FLAME) protocol.
d) Nix-vector routing:
- Ipv4NixVectorHelper
- Examples (nix-simple, nms-p2p-nix)
e) New Test Framework
- Use test.py instead of ./waf check or ./waf --regression
- Previous unit tests have been ported to new framework.
- Examples are tested for run-ability.
f) A new Flow Monitor module
- To very easily measure flow metrics in a simulation
- No need to use trace callbacks or parsing trace files
API changes from ns-3.5
-----------------------
API changes for this release are documented in the file CHANGES.html.
Known issues
------------
ns-3.6 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Release 3.5
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-allinone-3.5.tar.bz2
Supported platforms
-------------------
ns-3.5 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.4.0, 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86 (gcc 4.0.x and 4.2.x)
- cygwin gcc 3.4.4 (debug only), gcc 4.3.2 (debug and optimized)
- mingw gcc 3.4.5 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) 802.11 MAC:
- EDCA multi-qos-class support (Mirko Banchi)
- 802.11n initial support for A-MSDU frame aggregation (Mirko Banchi)
- aarf-cd and cara rate control algorithms (Federico Maguolo)
b) 802.11 PHY:
- 802.11b PHY support (Gary Pei)
- Nakagami propagation loss model (Timo Bingmann)
- radiotap and prism headers for PCAP output (Nicola Baldo)
c) RandomVariable:
- GammaVariable and ErlangVariable (Timo Bingmann)
- ZipfVariable (Francesco Malandrino)
d) UdpEcho: allows setting the payload of echo packets
e) Ipv4/Ipv4RoutingProtocol: allow fine-grained control over
routing policy and arbitrary composition of routing protocols
API changes from ns-3.4
-----------------------
API changes for this release are documented in the file CHANGES.html. The
internal API and composition of the IPv4 stack underwent significant
refactoring in this release cycle.
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development including
fuller IPv6 support, some smaller features such as a new Global ARP
package, and possibly a new Testing and Validation suite.
Release 3.4
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-allinone-3.4.tar.bz2
Supported platforms
-------------------
ns-3.4 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Wifi models: Timo Bingman contributed a ThreeLogDistance and a Nakagami
propagation loss model based on the ns-2 models. Fabian Mauchle contributed
multicast support.
b) Object Name Service: A facility allowing ns-3 Objects to be assigned
names has been added.
c) Tap Bridge: A second option for integrating ns-3 with real-world hosts
has been added. This allows for real hosts to talk over ns-3 net devices
and simulated networks.
d) A new build option (ns-3-allinone) has been provided to make it easier for
users to download and bulid commonly used ns-3 configurations.
e) The ns-3 calendar queue scheduler has been ported to ns-3.
f) XML support has been added to the ConfigStore.
API changes from ns-3.3
-----------------------
API changes for this release are documented in the file CHANGES.html
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
- MinGW
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development including
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
features such as a new Global ARP package and possibly a new Testing and Validation
suite,
Release 3.3
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-3.3.tar.bz2
Supported platforms
-------------------
ns-3.3 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Emulated Net Device
A new net device has been added as enabling technology for ns-3 emulation
scenarios. See src/devices/emu and examples/emu-udp-echo.cc for details.
b) ICMP Support
Support for several ICMP messages has been added to ns-3. See
src/internet-stack/icmpv4.h for details.
c) IPv6 Address Support
New clases to support IPv6 addresses has been added to the system. This
is enabling technology for fuller IPv6 support scheduled for ns-3.4.
d) A flow-id tag has been added to the contributed code section
e) Star topologies can be created from the topology helper functions
f) The global routing code has been made dynamic (not just limited to
(pre-simulation computation) and supports stub network interfaces and
bridge net devices
g) A MatchContainer has been added to the configuration subsystem
API changes from ns-3.2
-----------------------
API changes for this release are documented in the file CHANGES.html
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
- MinGW
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development including
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
features such as an object naming facility and a new Global ARP package.
Release 3.2
===========
Availability
------------
This release is immediately available from:
http://www.nsnam.org/release/ns-3.2.tar.bz2
Supported platforms
-------------------
ns-3.2 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Not all ns-3 options are available on all platforms; consult the
wiki for more information:
http://www.nsnam.org/wiki/index.php/Installation
New user-visible features
-------------------------
a) Learning bridge (IEEE 802.1D)
It is now possible to bridge together multiple layer 2 devices to
create larger layer 2 networks. The Wifi and Csma models support
this new mode of operation. (contributed by Gustavo Carneiro)
b) Python bindings
It is now possible to write simulation scripts in python using our
python bindings (contributed by Gustavo Carneiro).
c) Real-time simulator
It is now possible to run simulations synchronized on the real-world
wall-clock time (contributed by Craig Dowell).
d) Network Simulation Cradle
It is now possible to use the Network Simulation Cradle
(http://www.wand.net.nz/~stj2/nsc/) in ns-3 and run simulations
using various versions of kernel TCP network stacks. (contributed
by Florian Westphal as part of his Google Summer of Code work)
e) A statistics framework
Joseph Kopena contributed a statistics framework which can be used
keep track of simulation data in persistent storage across multiple
runs (database and ascii file backends are available).
More information on the wiki:
http://www.nsnam.org/wiki/index.php/Statistical_Framework_for_Network_Simulation
API changes from ns-3.1
-----------------------
API changes for this release are documented in the file CHANGES.html
Known issues
------------
ns-3 build is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
- optimized builds on Ubuntu 8.10 alpha 5 x86 gcc4.3.2
- MinGW
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development: IPv6,
emulation, and synchronous posix sockets.
Release 3.1 (2008/06/30)
========================
The first ns-3 stable release
-----------------------------
This release is immediately available from:
http://www.nsnam.org/release/ns-3.1.tar.bz2
We dedicate this initial ns-3 release to our late contributor and friend,
Federico Maguolo.
What is ns-3 ?
--------------
ns-3 is a new discrete-event network simulator designed for supporting network
research and education. ns-3 features a solid, well documented C++ core and
models for TCP/IP (IPv4), several link types including WiFi, and mobility
models.
ns-3 is an open source project released under the GNU GPLv2 license which
allows anyone to use ns-3 without having to pay any license fee or royalties.
ns-3 is actively seeking new contributors to extend the range of supported
models and/or to maintain existing models.
Where to get more information about ns-3
----------------------------------------
All the ns-3 documentation, is accessible from the ns-3 website:
http://www.nsnam.org
Including, tutorials:
http://www.nsnam.org/tutorials.html
Supported platforms
-------------------
ns-3 is regularly tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)
Known issues
------------
ns-3 is known to fail on the following platforms:
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x
The IPv4 API defined in src/node/ipv4.h is expected to undergo major changes
in preparation of the merge of the IPv6 API and implementation.
Future releases
---------------
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development: python
scripting, IPv6, emulation, a statistics framework and synchronous posix
sockets.
Release 3.0.13 (2008/06/02)
===========================
- point to point links generate ppp pcap traces
- point to point links support asymmetrical data rates.
- generate doxygen documentation for all attributes and trace sources
- add ConfigStore and GtkConfigStore to contrib module
- socket API now support tx and rx buffers: implemented for UDP and TCP
- ARP cache now supports per-entry pending queues
- lots of bugfixes and implementation and API cleanups
Warning: among API changes in this release, Application::Start and
Application::Stop now interprets the time argument as a relative
instead of absolute simulation time, to align with how Simulator::Schedule
behaves. Any code that calls these APIs in the middle of the simulation
will need to be adapted.
The API of Simulator::StopAt (time) has also changed. Now it is
called Simulator::Stop (time), and takes a relative time, instead of
absolute.
Release 3.0.12 (2008/04/07)
===========================
- Add Attribute support to the TypeId metadata system and add
attribute support to all in-tree models
- Add a mid-level helper API to build simulation topologies
and perform simple ascii and pcap link-level tracing.
- Large amount of structural changes to accomodate the needs
of the upcoming python bindings
- new rate control algorithm (RRAA) and a jakes propagation model
in the 802.11 model (Federico Maguolo).
- regression test framework added
- TCP delayed acknowledgements and multitasking server
Release 3.0.11 (2008/02/15)
===========================
- Initial port of GTNetS TCP implementation (initial version
that does not support multitasking or delayed acknowledgments yet,
but supports a reliable stream service)
- Changes to the ns-3 object model to create a TypeId-based
metadata system
- lots of bug fixes throughout the system
- tutorial updates
Release 3.0.10 (2008/01/15)
===========================
- Add tutorial document content;
- Valgrind option for "waf" tool;
- Doxygen organization changes.
Release 3.0.9 (2007/12/15)
==========================
- A 802.11 model ported from Yans. This model supports:
* a rather extensive PHY model
* log-distance and friis propagation model
* a simple set of rate control algorithms (ARF, Ideal,
AARF, constant-rate)
* adhoc and infrastructure mode (beacon+assoc)
- Use smart pointer for Packet in the APIs
- A new contrib directory with helper classes:
EventGarbageCollector, Gnuplot
- Tracing support for Applications
- many bugs fixed
Release 3.0.8 (2007/11/15)
==========================
- A simple error model
- Source files for ns-3 tutorial
Release 3.0.7 (2007/10/15)
==========================
- OLSR routing protocol
- A timer class
- Additional mobility models (random waypoint, random 2D walk)
- A mobility visualization tool
Release 3.0.6 (2007/09/15)
==========================
- Static multicast IPv4 routing
- Logging overhaul (NS_LOG macros)
- Refactoring of tracing subsystem
- Tutorial document started
Release 3.0.5 (2007/08/15)
==========================
- Refactoring to support win32-based unix environments (Cygwin, mingw)
- "Packet socket" for allowing applications to access NetDevices directly
- Generalized, polymorphic Address class
- Add CSMA NetDevice model (from Emmanuelle Laprise)
- Modularize IPv4 routing support (from Gustavo Carneiro)
- Add mobility framework and basic mobility models
- Global unicast centralized routing
Release 3.0.4 (2007/07/15)
==========================
- Enable waf as the default build system.
- Per-packet metadata: a system to track which headers and trailers
are added to a packet
- Simplifications to point-to-point devices and channel
Release 3.0.3 (2007/06/15)
==========================
- Enable Waf for release tarballs: users can now build ns-3
with the "waf" tool. See doc/build-waf.txt.
- Add support for variable time precision: it is now possible
to run a simulation with an accuracy which is higher or lower
than a nanosecond: seconds, milliseconds, microseconds,
femtoseconds and picoseconds are supported.
- Optimize and rework the COM framework, solidify the component
manager
- Many small API cleanups
Release 3.0.2 (2007/05/18)
==========================
- Implement a new memory management infrastructure based
on reference counting and smart pointers (the latter being
optional)
- Implement a COM-like framework with support for QueryInterface
to provide object extensibility
- Add support for a BSD-style socket API for user applications
Release 3.0.1 (2007/03/31)
==========================
- First public release; not yet pre-alpha.
- Simple UDP-based simulation script (examples/simple-p2p.cc)
|