From 95258be27446b3584528c5bc7177aca40ddba2d5 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Fri, 5 Jul 2019 22:27:04 +0200 Subject: content: Reorganize to better suit ananke theme --- content/docs/compopt.html | 435 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 435 insertions(+) create mode 100644 content/docs/compopt.html (limited to 'content/docs/compopt.html') diff --git a/content/docs/compopt.html b/content/docs/compopt.html new file mode 100644 index 0000000..4c4459c --- /dev/null +++ b/content/docs/compopt.html @@ -0,0 +1,435 @@ +--- +title: "Compilation options" +date: 2019-06-22 +draft: false +--- + +

+ Below is a list of the compile-time configuration options for + Ouroboros. These can be set using +

+
$ cmake -D<option>=<value> ..
+

or using

+
ccmake .
+

+ Options will only show up in ccmake if they are relevant for + your system configuration. The default value for each option + is underlined. Boolean values will print as ON/OFF in + ccmake instead of True/False. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OptionDescriptionValues
Compilation options
CMAKE_BUILD_TYPE + Set the build type for Ouroboros. Debug builds will add some + extra logging. The debug build can further enable the + address sanitizer (ASan) thread sanitizer (TSan) and leak + sanitizer (LSan) options. + + Release, Debug, DebugASan, DebugTSan, DebugLSan +
CMAKE_INSTALL_PREFIX + Set a path prefix in order to install Ouroboros in a + sandboxed environment. Default is a system-wide install. + + <path> +
DISABLE_SWIG + Disable SWIG support. + + True, False +
Library options
DISABLE_FUSE + Disable FUSE support, removing the virtual filesystem under + <FUSE_PREFIX>. + + True, False +
FUSE_PREFIX + Set the path where the fuse system should be + mounted. Default is /tmp/ouroboros. + + <path> +
DISABLE_LIBGCRYPT + Disable support for using the libgcrypt library for + cryptographically secure random number generation and + hashing. + + True, False +
DISABLE_OPENSSL + Disable support for the libssl library for cryptographic + random number generation and hashing. + + True, False +
DISABLE_ROBUST_MUTEXES + Disable + + robust mutex + + support. Without robust mutex support, Ouroboros may lock up + if processes are killed using SIGKILL. + + True, False +
PTHREAD_COND_CLOCK + Set the + + clock type + + to use for timeouts for pthread condition variables. Default + on Linux/FreeBSD: CLOCK_MONOTONIC. Default on OS X: + CLOCK_REALTIME. + + <clock_id_t> +
Shared memory system options
SHM_PREFIX + Set a prefix for the shared memory filenames. The mandatory + leading + + slash + + is added by the build system. Default is "ouroboros". + + <size_t> +
SHM_BUFFER_SIZE + Set the maximum total number of packet blocks Ouroboros + can buffer at any point in time. Must be a power of 2. + + <size_t> +
SHM_RDRB_BLOCK_SIZE + Set the size of a packet block. Default: page size of the + system. + + <size_t> +
SHM_RDRB_MULTI-BLOCK + Allow packets that are larger than a single packet block. + + True, False +
DU_BUFF_HEADSPACE + Set the amount of space to allow for the addition of + protocol headers when a new packet buffer is passed to the + system. Default: 128 bytes. + + <size_t> +
DU_BUFF_TAILSPACE + Set the amount of space to allow for the addition of + protocol tail information (CRCs) when a new packet buffer + is passed to the system. Default: 32 bytes. + + <size_t> +
IRMd options
SYS_MAX_FLOWS + The maximum number of flows this Ouroboros system can + allocate. Default: 10240. + + <size_t> +
SOCKET_TIMEOUT + The IRMd sends commands to IPCPs over UNIX sockets. This + sets the timeout for such commands in milliseconds. Some + commands can be set independently. Default: 1000. + + <time_t> +
BOOTSTRAP_TIMEOUT + Timeout for the IRMd to wait for a response to a bootstrap + command from an IPCP in milliseconds. Default: 5000. + + <time_t> +
ENROLL_TIMEOUT + Timeout for the IRMd to wait for a response to an enroll + command from an IPCP in milliseconds. Default: 60000. + + <time_t> +
CONNECT_TIMEOUT + Timeout for the IRMd to wait for a response to a connect + command from an IPCP in milliseconds. Default: 5000. + + <time_t> +
REG_TIMEOUT + Timeout for the IRMd to wait for a response to a register + command from an IPCP in milliseconds. Default: 3000. + + <time_t> +
QUERY_TIMEOUT + Timeout for the IRMd to wait for a response to a query + command from an IPCP in milliseconds. Default: 3000. + + <time_t> +
IRMD_MIN_THREADS + The minimum number of threads in the threadpool the IRMd + keeps waiting for commands. Default: 8. + + <size_t> +
IRMD_ADD_THREADS + The number of threads the IRMd will create if the current + available threadpool is lower than + IRMD_MIN_THREADS. Default: 8. + + <size_t> +
IPCP options
DISABLE_RAPTOR + Disable support for the raptor NetFPGA implementation. + + True, False +
DISABLE_BPF + Disable support for the Berkeley Packet Filter device + interface for the Ethernet LLC layer. If no suitable + interface is found, the LLC layer will not be built. + + True, False +
DISABLE_NETMAP + Disable netmap + support for the Ethernet LLC layer. If no suitable interface + is found, the LLC layer will not be built. + + True, False +
DISABLE_RAW_SOCKETS + Disable raw sockets support for the Ethernet LLC layer. If + no suitable interface is found,the LLC layer will not be + built. + + True, False +
DISABLE_DDNS + Disable Dynamic Domain Name System support for the UDP + layer. + + True, False +
IPCP_SCHED_THR_MUL + The number of scheduler threads an IPCP runs per QoS + cube. Default is 2. + + <size_t> +
IPCP_QOS_CUBE_BE_PRIORITY + Priority for the best effort qos cube scheduler + thread. This is mapped to a system value. Scheduler + threads have at least half the system max priority value. + + 0..99 +
IPCP_QOS_CUBE_VIDEO_PRIORITY + Priority for the video qos cube scheduler thread. This is + mapped to a system value. Scheduler threads have at least + half the system max priority value. + + 0..90..99 +
IPCP_QOS_CUBE_VOICE_PRIORITY + Priority for the voice qos cube scheduler thread. This is + mapped to a system value. Scheduler threads have at least + half the system max priority value. + + 0..99 +
IPCP_FLOW_STATS + Enable statistics for the data transfer component. + + True, False +
PFT_SIZE + The forwarding table in the normal IPCP uses a + hashtable. This sets the size of this hash table. Default: 4096. + + <size_t> +
IPCP_MIN_THREADS + The minimum number of threads in the threadpool the IPCP + keeps waiting for commands. Default: 4. + + <size_t> +
IPCP_ADD_THREADS + The number of threads the IPCP will create if the current + available threadpool is lower than + IPCP_MIN_THREADS. Default:4. + + <size_t> +
-- cgit v1.2.3