-
Notifications
You must be signed in to change notification settings - Fork 10
/
README
56 lines (41 loc) · 1.63 KB
/
README
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
The TCPR home page, <http://www.cs.cornell.edu/~burgess/tcpr/>, provides
information about the people involved in the project, the code development
repository, and TCPR's design and ongoing research. This document aims
to guide someone new to the project from first cloning the code repository
through conducting a live demonstration and developing new applications.
TCPR uses the GNU autotools build system and links with the xtables
library. On an Ubuntu system, the `autoconf', `libtool', and
`iptables-dev' packages provide the necessary dependencies.
# apt-get install autoconf libtool iptables-dev
The repository does not contain any autotools generated files, so once,
right after cloning, you must set up some infrastructure.
$ autoreconf -i
Then, you can build the userspace programs and iptables extension library.
$ mkdir ../tcpr-build
$ cd ../tcpr-build
$ ../tcpr/configure
$ make
# make install
The kernel module must be built separately, using the kernel build system.
I usually find it is necessary to run depmod manually.
$ cd module
$ make
# make install
# depmod
You can check whether the kernel module is successfully built from the
output of `modinfo tcpr'.
The scripts in the `examples' directory provide a simple demonstration
of TCPR. Start with `examples/recovery', which demonstrates simple
failure and recovery. First, inspect the scripts to get a feel for what
is about to happen, then open up two terminals.
# ./setup-network
# ./setup-tcpr
# ./peer
# ./application
... type back and forth ...
^C
# ./recover
... more typing ...
^D ^D
# ./teardown-tcpr
# ./teardown-network