aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorKonstantin Ananyev <konstantin.ananyev@intel.com>2016-06-03 16:43:13 +0100
committerKonstantin Ananyev <konstantin.ananyev@intel.com>2016-06-07 14:17:17 +0100
commit3395610ea65d66fb96ab98d6915a7ffbd584c34e (patch)
tree1e4b4ad406679913ee8c490a2f9be6e3d610dbf3 /README
parentb0a4a8b51228d049e8472757349569a6d53c27c5 (diff)
Initial commit of tldk code.
Change-Id: Ib96fdd2c57bae0a51ed420137c35eb8e2ee58473 Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Ed Warnicke <eaw@cisco.com>
Diffstat (limited to 'README')
-rw-r--r--README66
1 files changed, 66 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..f12e9b2
--- /dev/null
+++ b/README
@@ -0,0 +1,66 @@
+OVERVIEW
+========
+
+TLDK project scope is:
+1) Implement a set of libraries for L4 protocol processing (UDP, TCP etc.)
+ for both IPv4 and IPv6.
+
+ The goal is to provide lightweight, high performance and highly adaptable
+ implementation for L4(UDP, TCP etc.) protocol processing. The provided API
+ are not planned to be compatible with BSD socket API. These libraries are
+ suppose to be built on top of DPDK.
+
+ Note: these libraries are not supposed to be a 'complete' network stack.
+
+ Implementation of ARP, IP, ETHER, etc layers and related routing tables,
+ code for setup, manage and perform actual IO over underlying devices are
+ all out of scope of these libraries.
+
+ Implementation of ARP, IP etc. layers and their related routing tables
+ are out of scope of these libraries. Similarly, the setup, management and
+ actual IO on underlying NIC devices are out of scope too.
+
+ The libraries only need to know about underlying devices plus what
+ HW offloads are supported, underlying device MTU and L3/L2 addresses to
+ fill into L3/L2 headers for the outgoing packets.
+
+ These libraries should be developed in such manner, they could be used
+ independently from implementations of 2) and 3).
+
+2) Create VPP graph nodes, plugins etc using those libraries to implement
+ a host stack.
+
+3) Create such mechanisms (netlink agents, packaging, etc) necessary to make
+ the resulting host stack easily usable by existing non-vpp aware software.
+
+INSTALLATION GUIDE
+=================
+
+1. Obtain latest DPDK.
+ (refer to http://dpdk.org for information how to download and build it).
+2. Make sure that RTE_SDK and RTE_TARGET DPDK related environment variables
+ are setup correctly.
+3. Go to the TLDK root directory and type: 'make all'.
+4. Run sample applications.
+
+As an example:
+export RTE_SDK=/opt/DPDK
+export RTE_TARGET=x86_64-native-linuxapp-gcc
+cd tldk
+make all
+./x86_64-native-linuxapp-gcc/app/udpfwd ...
+
+CONTENTS
+========
+
+$(TLDK_ROOT)
+|
++----lib
+| |
+| +--libtle_udp - implementation of the UDP datagram processing
+|
++----examples
+ |
+ +-- udpfwd - sample app to demonstrate and test libtle_udp usage
+ (refer to examples/udpfwd/README for more information)
+