forked from bisdn/xdpd
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
133 lines (85 loc) · 4.43 KB
/
README
File metadata and controls
133 lines (85 loc) · 4.43 KB
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
What it is
==========
"The OpenFlow eXtensible DataPath daemon (xDPd) is a multi-platform, multi OF version, open-source datapath built focusing on performance and extensibility."
xDPd can also be considered a framework for building OpenFlow datapath elements, as it is designed to be easily extended with the support of new forwarding devices.
Supported platforms (drivers)
=============================
Shipped with all xDPd instances:
- GNU/Linux amd64/x86 user-space with mmap or netmap (gnu-linux). open-source
- GNU/Linux + NetFGPA-10G (netfpga10g). open-source.
- GNU/Linux Intel's DPDK accelerated driver (gnu-linux-dpdk). open-source
Also available:
- Broadcom Triumph2 (bcm).
- Octeon network processors (octeon5650).
- Other: refer to the wiki page for more details
You may want to have a look to the particular README pages of each platform by inspecting:
src/xdpd/drivers/{platform_name}/README
Requirements
============
- A modern GNU build-system (autoconf, automake, libtool, ...)
- GNU/Linux and libc development headers (linux-libc-dev and libc6-dev package in Debian/Ubuntu systems)
- pkg-config
- libconfig C++ lib (libconfig++-dev in Debian/Ubuntu systems)
- ROFL libraries installed [1]
- [optional] if you want to run automatic tests (make check), libcunit and libcppunit are required (in libcunit1-dev and libcppunit-dev packages in Debian-like systems).
- [optional] Doxygen to generate the documentation.
[1] http://www.roflibs.org/, https://github.com/bisdn/rofl-core
How to build
============
Install the dependencies and run:
sh# ./autogen.sh
sh# cd build
sh# ../configure
sh# make
sh# make install
Optionally you can `make check` for consistency checks. For other platforms different than `gnu-linux`, please make sure `--with-hw-support=platform-name` is specified, and that the appropriate README is read (e.g. src/xdpd/drivers/example/README).
How to run it
================================
Copy the example.cfg:
sh# cd build/src/xdpd
sh# cp ../../../src/xdpd/management/plugins/config/example.cfg .
Now edit the configuration. Make sure ports attached to the Logical Switch Instance (LSI) exist in the system.
sh# vi example.cfg
Run xdpd:
sh# ./xdpd -c example.cfg
Optional ../configure parameters
================================
--with-hw-support=platform-name: Compiles support for the platform-name (platform driver). Default is gnu-linux.
--with-plugins="plugin1...pluginN": Compile with plugin1..pluginN enabled. Default is --with-plugins="config" plugin.
--enable-debug: Compile with debug symbols (-g) and debug output (warning, it may affect performance).
--disable-silent-rules: Enable verbose compilation mode (AM_SILENT_RULES disabled)
Known issues with Automake 1.14
===============================
xDPd package uses `subdir-objects`. From 1.14 on, the support of `subdir-objects` must be explicitly added in AM_INIT_AUTOMAKE() in order to prevent warnings that will abort compilation. However, due to the following bug:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928
The build system won't work if `subdir-objects` is added in AM_INIT_AUTOMAKE().
Currently, in order to compile the package, the suggested strategy is to remove -Werror from AM_INIT_AUTOMAKE() in ALL the configure.ac-s (configure.ac, src/xdpd/drivers/example/configure.ac ...):
diff --git a/configure.ac b/configure.ac
index ccf3f21..96931b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_INIT(xdpd, 0.4, xdpd@bisdn.de, xdpd)
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+AM_INIT_AUTOMAKE([-Wall foreign])
AC_GNU_SOURCE
Note there will be a considerably number of warnings shown. Once bug 13928, 'subdir-objects' will be added as it should be.
Doxygen documentation
=====================
You can have a look on:
http://www.xdpd.org/doc/
Documentation can be compiled via `make doc`. Documentation is generated in build/doc/ folder
More information, documentation and support
===========================================
http://www.xdpd.org
https://github.com/bisdn/xdpd
For getting support or participate in the discussions, join the mailing list xdpd-devel@xdpd.org at https://lists.xdpd.org/mailman
Authorship
==========
(c) Copyright BISDN GmbH 2013
Marc Sune<marc.sune (at) bisdn.de>
Andreas Koepsel<andreas.koepsel (at) bisdn.de>
Victor Alvarez<victor.alvarez (at) bisdn.de>
Tobias Jungel<tobias.jungel (at) bisdn.de>
And others