serval
所属分类:Python编程
开发工具:C
文件大小:0KB
下载次数:0
上传日期:2014-02-05 07:55:34
上 传 者:
sh-1993
说明: 以服务为中心的网络堆栈和体系结构
(A service-centric network stack and architecture)
文件列表:
AUTHORS (0, 2014-02-04)
COPYING (18092, 2014-02-04)
ChangeLog (0, 2014-02-04)
INSTALL (15578, 2014-02-04)
Makefile.am (327, 2014-02-04)
NEWS (0, 2014-02-04)
android/ (0, 2014-02-04)
android/Makefile.am (1033, 2014-02-04)
android/Serval/ (0, 2014-02-04)
android/Serval/.classpath (646, 2014-02-04)
android/Serval/.project (809, 2014-02-04)
android/Serval/AndroidManifest.xml (1506, 2014-02-04)
android/Serval/ant.properties (696, 2014-02-04)
android/Serval/assets/ (0, 2014-02-04)
android/Serval/build.xml (5305, 2014-02-04)
android/Serval/copy_module.sh (410, 2014-02-04)
android/Serval/jni/ (0, 2014-02-04)
android/Serval/jni/Android.mk (306, 2014-02-04)
android/Serval/jni/Application.mk (96, 2014-02-04)
android/Serval/local.properties.in (27, 2014-02-04)
android/Serval/proguard.cfg (1248, 2014-02-04)
android/Serval/project.properties (361, 2014-02-04)
android/Serval/res/ (0, 2014-02-04)
android/Serval/res/drawable/ (0, 2014-02-04)
android/Serval/res/drawable/button.xml (980, 2014-02-04)
android/Serval/res/layout/ (0, 2014-02-04)
android/Serval/res/layout/flow_table_item.xml (1091, 2014-02-04)
android/Serval/res/layout/frag_flow_table.xml (260, 2014-02-04)
android/Serval/res/layout/frag_serval.xml (5957, 2014-02-04)
android/Serval/res/layout/frag_service_table.xml (425, 2014-02-04)
android/Serval/res/layout/frag_translator.xml (4551, 2014-02-04)
android/Serval/res/layout/main.xml (1801, 2014-02-04)
android/Serval/res/layout/migrate_item.xml (245, 2014-02-04)
android/Serval/res/layout/migrate_popup.xml (758, 2014-02-04)
android/Serval/res/values/ (0, 2014-02-04)
... ...
Serval
======
For more and up-to-date information, see:
https://github.com/princeton-sns/serval/wiki
and
http://www.serval-arch.org
Compilation
-----------
The first time you check out the source code, prepare the build
system:
```
./autogen.sh
```
To configure the build system (with common options):
```
./configure [ --enable-debug | --disable-kernel | --disable-service-router ]\
```
To build:
```
make
```
Directory structure
-------------------
**include/**
>headers that are shared between components under src/.
**src/**
>source code.
**src/common/**
>library with 'common' functionality.
**src/stack/**
>stack code.
**src/stack/linux/**
>stack code specific for the linux kernel.
**src/stack/userlevel/**
>stack code specific for user level.
**src/servd/**
>user space control daemon for the stack that takes local service
>registrations and passes them to a controller in the network.
**src/test/**
>test programs for the stack.
**src/translator**
>daemon that translates between PF\_INET and PF\_SERVAL TCP socket.
**src/tools**
>tools for controlling the Serval stack.
**src/libservalctrl/**
>library for communicating with and controlling Serval stacks,
>either locally or remotely.
**src/libserval/**
>socket API abstraction for client applications interacting
>with the user-level version of the stack.
**src/javasock/**
>Java bindings that make it possible to write Serval
>applications in Java.
**android/**
>Android-specific files and applications.
Cross-compile Linux kernel module
---------------------------------
Prerequisites:
* Kernel source code matching your cross-compile environment.
* A tool-chain for your cross-compile architecture.
Run (```./autogen.sh```) ```./configure``` to generate Makefiles
Enter src/stack and issue the following command (example for Android):
```
make serval.ko ARCH=arm CROSS_COMPILE=
```
Running Serval in kernel mode
-----------------------------
Insert the Serval kernel module:
```
insmod ./src/stack/serval.ko
```
Start servd (optional):
```
./src/servd/servd
```
Wait until a service router is discovered or a timeout occurs (in
which case host control mode is set).
Start an application, e.g.,:
```
./src/test/tcp_server
```
Access internal state and debug output through /proc/net/serval/ and
configuration parameters through /proc/sys/net/serval/.
When done, shut down all clients and servd, then remove Serval module:
```
rmmod serval
```
Running Serval in user-level mode
---------------------------------
Start the user-level stack
```
./src/stack/serval [ -i ]
```
Start servd (optional):
```
./src/servd/servd
```
Wait until a service router is discovered or a timeout occurs (in
which case host control mode is set).
Start an application, e.g.:
```
./src/test/tcp_server_user
```
Connect with telnet to 127.0.0.1:9999 for printing internal state.
Configuration Options
---------------------
```
/proc/sys/net/serval/auto_migrate - Enable/Disable automigration between interfaces
/proc/sys/net/serval/debug - Set debug level
/proc/sys/net/serval/inet_to_serval - Enable/Disable socket hijacking, where legacy (AF_INET) sockets are turned into Serval sockets
/proc/sys/net/serval/sal_forward - Enable/Disable forwarding in SAL
/proc/sys/net/serval/sal_max_retransmits - Max SAL retransmits
/proc/sys/net/serval/service_resolution_mode - Specifies which rules to use when resolving services. 0=All, 1=Demux only, 2=forward only, 3=Anycast
/proc/sys/net/serval/udp_encap - Enable/Disable UDP encapsulation
/proc/sys/net/serval/udp_encap_client_port - List/set client UDP encap port
/proc/sys/net/serval/udp_encap_server_port - List/set server UDP encap port
```
近期下载者:
相关文件:
收藏者: