Commit Graph

162 Commits

Author SHA1 Message Date
Gabriel Ferreira
820dbeab66 doc: fix wrong uses of ns3 run 2022-07-06 10:06:41 -03:00
Gabriel Ferreira
60e1e4032c fixing dead links 2022-06-18 17:57:05 -03:00
Tom Henderson
b6a5ee8151 Run utils/trim-trailing-whitespace.py on codebase 2022-06-05 21:01:11 -07:00
Gabriel Ferreira
20a0fb2e8d build: Use check_include_file when checking for C headers
The cxx variant fails on MinGW
2022-05-29 15:34:53 +00:00
Gabriel Ferreira
ecd18974cd fd-net-device: Reorder headers to prevent symbol redefinition
Linux headers must come after C/C++ headers when building with Musl C library
2022-05-17 16:20:56 -03:00
Tom Henderson
9fbb26f04f Silence additional compiler warnings about lack of return value 2022-05-14 21:45:42 -07:00
Tom Henderson
6a202f88ee bindings: Rescan APIs for inclusion of STL features 2022-05-05 13:31:45 -07:00
Eduardo Almeida
e5e58ebdbc build: Update CMake to use system threads
With the help of Gabriel Ferreira and Tommaso Pecorella.
2022-05-04 19:47:39 +01:00
Eduardo Almeida
f4d296baaa core: Replace SystemCondition class with STL 2022-05-04 19:04:20 +01:00
Eduardo Almeida
85ad3961fc core: Replace SystemThread class with STL 2022-05-04 19:04:09 +01:00
Eduardo Almeida
b32c80ecb0 core: Replace SystemMutex and CriticalSection classes with STL 2022-05-04 19:00:50 +01:00
Gabriel Ferreira
4b83eb7085 build: Fix features and make pthread an explicit dependency
Includes:
- Include threads sources even when NS3_PTHREAD=OFF
- Do not include realtime sources if NS3_REALTIME=OFF
- Disable tap-bridge if emulation or realtime features are disabled
- Build tap examples when tap-netdevice is enabled
- Remove NS3_PTHREAD option and make it an explicit requirement
2022-04-23 13:21:13 -03:00
Gabriel Ferreira
f43c79b0a3 build: Only link DPDK libraries when enabled 2022-04-20 19:43:52 -03:00
Tom Henderson
a614114865 bindings: Rescan all APIs 2022-04-18 15:30:35 -07:00
Gabriel Ferreira
55c36d8045 build: throw error when DPDK/MPI/Python bindings dependencies are unmet 2022-04-18 11:41:14 -03:00
Pasquale Imputato
fae364f5db fd-net-device: add netmap headers to cmakelists 2022-02-22 02:04:45 +00:00
Gabriel Ferreira
e32c177e45 build: remove waf files, tests and references 2022-02-21 22:08:45 -03:00
Gabriel Ferreira
4b01479b04 build: additional CMake and ns3 fixes
Includes:
- add additional find_external_library default search paths
- add option to enable/disable DPDK and make it disable by default
- skip test-ns3.py test cases if dependencies are not installed
- improve searching in library parent directories
- replace FindPython with FindPythonInterp and FindPythonLibs
- stub targets for doxygen/sphinx when dependencies are missing
2022-02-11 16:13:07 -03:00
Gabriel Ferreira
41aacec626 build: CMake refactoring
Includes:
- refactor build_lib and build_lib_example macros
    - unify src and contrib macros
    - replace macro with function not to leak definitions
    - parse list of arguments
- different cmake-format file for modules to list one item per line
2022-01-28 10:20:18 -03:00
Gabriel Ferreira
9342082c53 bindings, build: fix bindings and visualizer build
Includes:
- scan python scripts
- run python scripts from ns3
- replace visualizer file copy with configure_file to prevent cmake refreshes
- replace ns__init__.py file copy with configure_file to prevent cmake refreshes
- fix bindings scanning with cmake
- pass include directories to modulegen for castxml consumption
- add missing parameters of Recv in python-unit-tests.py
- change apiscan targets from apiscan-module to libmodule-apiscan
- change bindings targets from module-bingings to libmodule-bindings
- scanning and bindings build tests
- scan scratch python scripts
- replace FindPython3 with FindPython to be compatible with CMake 3.10
- do not export private visual-simulator-impl.h
- do not export udp-socket-impl.h
- use .so suffix for bindings on Mac instead of .dylib
2022-01-26 01:53:28 -03:00
Gabriel Ferreira
33f2ee841b doc: update ns3 API 2022-01-19 16:25:03 -03:00
Gabriel Ferreira
ff3b511384 build: Bugfixes and refactoring of ns3 and CMake
Including:
- add missing command for introspected doxygen
- run get_version.sh before running doxygen
- use find_package(Doxygen) to get the doxygen executable
- silence python and sqlite find_package warnings
- return cmake returncode if configuration fails
- require GTK3 3.22
- link all libraries to print-introspected-doxygen
- replace shell with use_shell for variable name
- revert wrong changes to propagation of return codes and add test
- disable pch when ccache is found
- make --enable-sudo a post-build step and a runtime option
- add docs subparser
- add enable-sudo option
- refactor positional argument values
- fix --check option and add shell option
- replace --no-task-lines with --quiet
- replace --nowaf with --no-build
- replace --run --run-no-build with run (--no-build)
- replace ns3 documentation related arguments with targets
- document test-ns3.py
- export include directories used by ns3 libraries
- refactor CMake documentation dependency checking and behavior
- add --allow-run-as-root for running MPI examples on the CI
2022-01-09 02:48:53 -03:00
Tom Henderson
12dee93f70 fd-net-device: (merges !811) Remove PlanetLab helper 2022-01-02 11:46:59 -08:00
Tom Henderson
aad79536bf bindings: Rescan all APIs 2021-12-18 16:41:52 -08:00
Eduardo Almeida
4ebdc0c6c6 Mark deleted ctors and operator= with delete keyword 2021-12-18 15:22:44 -08:00
Gabriel Ferreira
f6ef415392 build: CMake bugfixes
Fixes include:
- Handling of relative paths used as output directories
- Accepting comma separated lists of modules to enable/disable
- Echoing all CMake commands at the end of the execution of ns3 script
- More informative optional features summary output
- Replace absolute paths with relative paths in the printed CMake output for less verbose output
- Set debug build type on the CMake side to ensure ccmake doesn't crash
- Prefix INT64X64 with NS3 to indicate user switch
- Compiler version check
- Removal of verbose option
- Suppress empty enabled/disabled module tables

Features include:
- Test for installation/uninstallation of ns-3 as a CMake package
- Test importing ns-3 as a CMake package and use in a 3rd-party project
- Test to check VERSION usage
- ns3 option to enable/disable sanitizers
- Associate headers to libraries targets
2021-12-10 02:13:43 +00:00
Gabriel Ferreira
a893eba7e3 build: Fix CMake and ns3 script bugs, add a test suite and fix formatting 2021-12-05 21:53:49 +00:00
Gabriel Ferreira
3c604d5b2e Update docs with CMake and ns3 wrapper 2021-12-01 12:29:56 -08:00
Gabriel Ferreira
9c876c7f5a CMake buildsystem 2021-12-01 12:29:55 -08:00
Eduardo Almeida
a2efceffb2 Simplify trivial bool statements 2021-11-04 14:19:29 -07:00
Eduardo Almeida
2421656133 fd-net-device (Fix 539218e5): Add missing include removed by accident 2021-10-30 12:56:28 +01:00
Eduardo Almeida
539218e593 fd-net-device: Remove unnecessary includes 2021-10-25 11:01:20 +00:00
Tommaso Pecorella
998166a95d fd-net-device: fix doxygen warnings 2021-10-24 17:14:57 +02:00
Tom Henderson
4e9afa965d bindings: Rescan all APIs 2021-09-27 11:18:37 -07:00
Tommaso Pecorella
5e73802488 fd-net-device: (fixes #441) Fix double dequeue on device stop 2021-08-18 17:24:51 +00:00
Tommaso Pecorella
a3349a598c fd-net-device: (fixes
#434) fix memory leak when device stops
2021-08-13 23:43:54 +00:00
Tom Henderson
667715cac4 bindings: Rescan all APIs 2021-06-24 16:35:40 -07:00
Tom Henderson
87308cd21d fd-net-device: Improve some logging statements 2021-03-14 20:53:21 -07:00
Tom Henderson
9bbfdca36c fd-net-device: Remove copy constructor implementation 2021-03-14 20:30:33 -07:00
Shobhit Chaurasia
7d0b034d59 fd-net-device: (fixes #344) Fix FdNetDevice Start and Stop attributes 2021-03-14 20:30:29 -07:00
Tom Henderson
a867437a58 fd-net-device: (workaround for #343) Stop devices before simulator 2021-01-31 10:55:04 -08:00
Tom Henderson
4a661dc399 bindings: Rescan all APIs 2020-12-30 14:21:24 -08:00
Tom Henderson
6002d927bc bindings: Rescan all APIs 2020-12-21 21:18:58 -08:00
Tom Henderson
9bfa3bd724 bindings: Rescan all APIs 2020-10-03 14:21:45 -07:00
Mohit P. Tahiliani
6974252b8a fd-net-device: minor fixes and documentation update for DPDK 2020-09-30 14:16:16 -07:00
Tom Henderson
28e93f9be6 fd-net-device: Change time-based attribute to TimeValue type 2020-09-28 12:37:05 -07:00
Hrishikesh Hiraskar
dd8faec88f fd-net-device: Add DpdkNetDeviceHelper
This commit:
	- Add DpdkNetDeviceHelper
	- Encapsulate EAL arguments setup in DpdkNetDeviceHelper
	- Update Documentation

Co-authored-by: Harsh Patel <thadodaharsh10@gmail.com>
Co-authored-by: Mohit P. Tahiliani <tahiliani@nitk.edu.in>
2020-09-28 12:32:59 -07:00
Hrishikesh Hiraskar
fc9f640628 fd-net-device: Move setting of m_nodeId to FdNetDevice::SetNode
m_nodeId was set in FdNetDevice::StartDevice. This commit moves it to
FdNetDevice::SetNode so that is it set whenever node is set.
2020-09-28 12:29:27 -07:00
Harsh Patel
aa56b99e32 fd-net-device: Update documentation for DPDK package installation 2020-09-23 20:42:30 -07:00
Tom Henderson
a348b4b4b7 fd-net-device: Handle case in which PACKET_QDISC_BYPASS is undefined 2020-09-20 17:17:29 -07:00