docs: Update install and release docs for DPDK migration support
[samplevnf.git] / docs / vCGNAPT / README.rst
index eda9483..dd6bb07 100644 (file)
@@ -4,10 +4,10 @@
 .. (c) opnfv, national center of scientific research "demokritos" and others.
 
 ========================================================
-Carrier Grade Network Address Port Translation - vCGNAPT
+vCGNAPT - Readme
 ========================================================
 
-Introduction
+Introduction
 ==============
 This application implements vCGNAPT. The idea of vCGNAPT is to extend the life of
 the service providers IPv4 network infrastructure and mitigate IPv4 address
@@ -27,12 +27,12 @@ This document assumes the reader possess the knowledge of DPDK concepts and IP
 Pipeline Framework. For more details, read DPDK Getting Started Guide, DPDK
 Programmers Guide, DPDK Sample Applications Guide.
 
-2.  Scope
+Scope
 ==========
 This application provides a standalone DPDK based high performance vCGNAPT
 Virtual Network  Function implementation.
 
-3. Features
+Features
 ===========
 The vCGNAPT VNF currently supports the following functionality:
   • Static NAT
@@ -53,7 +53,7 @@ The vCGNAPT VNF currently supports the following functionality:
   • ALG SIP
   • ALG FTP
 
-4. High Level Design
+High Level Design
 ====================
 The Upstream path defines the traffic from Private to Public and the downstream
 path defines the traffic from Public to Private. The vCGNAPT has same set of
@@ -77,6 +77,7 @@ and mitigate IPv4 address exhaustion by using address and port translation in la
 It processes the traffic in both the directions.
 
 .. code-block:: console
+
   +------------------+
   |                 +-----+
   | Private consumer | CPE  |---------------+
@@ -96,8 +97,10 @@ It processes the traffic in both the directions.
       Figure 1: vCGNAPT deployment in Service provider network
 
 
+
 Components of vCGNAPT
 =====================
+
 In vCGNAPT, each component is constructed as a packet framework. It includes Master pipeline
 component, driver, load balancer pipeline component and vCGNAPT worker pipeline component. A
 pipeline framework is a collection of input ports, table(s), output ports and actions
@@ -112,14 +115,13 @@ ARPICMP pipeline
 ------------------------
 ARPICMP pipeline is responsible for handling all l2l3 arp related packets.
 
-----------------
 This component does not process any packets and should configure with Core 0,
 to save cores for other components which processes traffic. The component
 is responsible for:
- 1. Initializing each component of the Pipeline application in different threads
- 2. Providing CLI shell for the user
- 3. Propagating the commands from user to the corresponding components.
- 4. ARP and ICMP are handled here.
+1. Initializing each component of the Pipeline application in different threads
+2. Providing CLI shell for the user
+3. Propagating the commands from user to the corresponding components.
+4. ARP and ICMP are handled here.
 
 Load Balancer pipeline
 ------------------------
@@ -133,7 +135,7 @@ affinity of flows to  worker threads.
 
 Tuple can be modified/configured using configuration file
 
-4. vCGNAPT - Static
+vCGNAPT - Static
 ====================
 The vCGNAPT component performs translation of private IP & port to public IP &
 port at egress side and public IP & port to private IP & port at Ingress side
@@ -144,7 +146,7 @@ port and will be forwarded to the output port. The packets that do not have a
 match will be taken a default action. The default action may result in drop of
 the packets.
 
-5. vCGNAPT- Dynamic
+vCGNAPT - Dynamic
 ===================
 The vCGNAPT component performs translation of private IP & port to public IP & port
 at egress side and public IP & port to private IP & port at Ingress side based on the
@@ -158,32 +160,38 @@ port and will be forwarded to the output port defined in the entry.
 Dynamic vCGNAPT acts as static one too, we can do NAT entries statically. Static NAT
 entries port range must not conflict to dynamic NAT port range.
 
-vCGNAPT Static Topology:
+vCGNAPT Static Topology
 ------------------------
+
 ::
+
   IXIA(Port 0)-->(Port 0)VNF(Port 1)-->(Port 1) IXIA
   operation:
-    Egress --> The packets sent out from ixia(port 0) will be CGNAPTed to ixia(port 1).
-    Igress --> The packets sent out from ixia(port 1) will be CGNAPTed to ixia(port 0).
+  Egress --> The packets sent out from ixia(port 0) will be CGNAPTed to ixia(port 1).
+  Igress --> The packets sent out from ixia(port 1) will be CGNAPTed to ixia(port 0).
 
-vCGNAPT Dynamic Topology (L4REPLAY):
+vCGNAPT Dynamic Topology (L4REPLAY)
 ------------------------------------
+
 ::
+
   IXIA(Port 0)-->(Port 0)VNF(Port 1)-->(Port 0)L4REPLAY
   operation:
-    Egress --> The packets sent out from ixia will be CGNAPTed to L3FWD/L4REPLAY.
-    Ingress --> The L4REPLAY upon reception of packets (Private to Public Network),
-                will immediately replay back the traffic to IXIA interface. (Pub -->Priv).
+  Egress --> The packets sent out from ixia will be CGNAPTed to L3FWD/L4REPLAY.
+  Ingress --> The L4REPLAY upon reception of packets (Private to Public Network),
+  will immediately replay back the traffic to IXIA interface. (Pub -->Priv).
 
-How to run L4Replay:
+How to run L4Replay
 --------------------
+After the installation of samplevnf:
+
 ::
-  1. After the installation of samplevnf:
    go to <samplevnf/VNFs/L4Replay>
 2. ./buid/L4replay -c  core_mask -n no_of_channels(let it be as 2) -- -p PORT_MASK --config="(port,queue,lcore)"
+
+ go to <samplevnf/VNFs/L4Replay>
+ ./buid/L4replay -c  core_mask -n no_of_channels(let it be as 2) -- -p PORT_MASK --config="(port,queue,lcore)"
      eg: ./L4replay -c 0xf -n 4 -- -p 0x3 --config="(0,0,1)"
 
-6. Installation, Compile and Execution
------------------------------------------------------------------
+Installation, Compile and Execution
+====================================
 Plase refer to <samplevnf>/docs/vCGNAPT/INSTALL.rst for installation, configuration, compilation
 and execution.