Add counters for MPTP buffers and syscalls.
[swifty.git] / src / raw / README
1 Raw socket-based implementation of swift transport protocol.
2
3 Swift is a multiparty protocol implemented at Tranport Layer (layer 4)
4 in the OSI stack. It is a form of BitTorrent in kernel space.
5
6 This is a "simulated" implementation of the protocol using raw sockets.
7 After testing and implementation focus is going to be to "port" the
8 implementation in the Linux kernel as a true transport protocol.
9
10 = GET SOURCE CODE =
11
12 Use the git repository:
13       git clone gitolite@koala.cs.pub.ro:swifty.git
14
15 = BUILDING =
16
17 Just use the Makefile:
18       make
19
20 = TEST CASES =
21
22 Use the test/ folder to test the implementation. Use the Makefile to
23 build the test executable and then run it:
24       cd test/
25       make
26       sudo ./test
27
28 Test suite (and other usage of the API) must be run as root as it uses
29 raw sockets.
30
31 = FILE STRUCTURE =
32
33 * root folder
34   - swift_raw.c: implements the swift "syscalls". System calls are
35     simulated using raw sockets.
36   - swift_list.h/swift_list.c: list implementation for socket
37     management.
38   - swift_raw_simple_test.c: simple test going through all major swift
39     socket "syscalls".
40
41 * include/ folder
42   - util.h: error handling utility functions and macros.
43   - debug.h: debugging functions and macros.
44   - swift_raw.h: raw socket-API (swift "syscalls").
45   - swift_types.h: swift address structure and header. These are
46     independent of the implementation; they should be unmodified when
47     doing the port to the Linux kernel.
48
49 * test/ folder
50   - test.h: defines the test macro used throughout the tests.
51   - test.c: test source code file. Defines main() and invokes test
52     functions.
53   - test_sw.h: declaration of test functions invoked in test.c.
54   - test_*.c: definition of test functions; each file consists of a
55     different set of functions within the same scope.