blob: d5871624647ae6a8168a7dc413bc5d35ebddc627 (
plain)
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
|
/*
* Ouroboros - Copyright (C) 2016 - 2017
*
* Configuration information
*
* Dimitri Staessens <dimitri.staessens@ugent.be>
* Sander Vrijders <sander.vrijders@ugent.be>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., http://www.fsf.org/about/contact/.
*/
#ifndef OUROBOROS_CONFIG
#define OUROBOROS_CONFIG
#define PROJECT_NAME "@CMAKE_PROJECT_NAME@"
#define PROJECT_VERSION "@PACKAGE_VERSION@"
#define INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
#define _POSIX_C_SOURCE 200809L
#define __XSI_VISIBLE 500
#ifdef __FreeBSD__
#define __BSD_VISIBLE 1
#endif
#ifdef __APPLE__
#define _BSD_SOURCE
#define _DARWIN_C_SOURCE
#endif
#define IPCP_SHIM_UDP_EXEC "@IPCP_SHIM_UDP_TARGET@"
#define IPCP_SHIM_ETH_LLC_EXEC "@IPCP_SHIM_ETH_LLC_TARGET@"
#define IPCP_NORMAL_EXEC "@IPCP_NORMAL_TARGET@"
#define IPCP_LOCAL_EXEC "@IPCP_LOCAL_TARGET@"
#cmakedefine HAVE_ROBUST_MUTEX
#cmakedefine HAVE_SYS_RANDOM
#cmakedefine HAVE_LIBGCRYPT
#cmakedefine HAVE_OPENSSL
#cmakedefine HAVE_NETMAP
#cmakedefine HAVE_BPF
#define AP_MAX_FLOWS 2048
#define AP_RES_FDS 64
#define AP_MAX_FQUEUES 64
#define SHM_RDRB_BLOCK_SIZE sysconf(_SC_PAGESIZE)
#define SHM_RDRB_MULTI_BLOCK
#define SHM_RDRB_NAME "/ouroboros.rdrb"
#define LOCKFILE_NAME "/ouroboros.lockfile"
#define SHM_BUFFER_SIZE 1 << 14
#define DU_BUFF_HEADSPACE 128
#define DU_BUFF_TAILSPACE 0
#define SHM_RBUFF_LOCKLESS 0
#define SHM_RBUFF_PREFIX "/ouroboros.rbuff."
#define SHM_FLOW_SET_PREFIX "/ouroboros.sets."
#define IRMD_MAX_FLOWS 4096
/* IRMD dynamic threadpooling */
#define IRMD_MIN_THREADS 16
#define IRMD_ADD_THREADS 32
/* IPCP dynamic threadpooling */
#define IPCP_MIN_THREADS 4
#define IPCP_ADD_THREADS 16
#define IPCP_SCHED_THREADS 2
#define IPCPD_MAX_CONNS IRMD_MAX_FLOWS
#ifdef __APPLE__
#define PTHREAD_COND_CLOCK CLOCK_REALTIME
#else
#define PTHREAD_COND_CLOCK CLOCK_MONOTONIC
#endif
#define PFT_SIZE 1 << 12
/* Timeout values */
#define IRMD_ACCEPT_TIMEOUT 100
#define IRMD_REQ_ARR_TIMEOUT 500
#define IRMD_FLOW_TIMEOUT 5000
#define IPCP_ACCEPT_TIMEOUT 100
#define SOCKET_TIMEOUT 1000
#define BOOTSTRAP_TIMEOUT 5000
#define ENROLL_TIMEOUT 60000
#define REG_TIMEOUT 10000
#define QUERY_TIMEOUT 3000
#define CDAP_REPLY_TIMEOUT 1000
#endif /* OUROBOROS_CONFIG */
|