Docs: Enhance the userguide with CLI command reference 03/44203/11
authorAnand B Jyoti <anand.b.jyoti@intel.com>
Wed, 4 Oct 2017 02:56:56 +0000 (08:26 +0530)
committerAnand B Jyoti <anand.b.jyoti@intel.com>
Fri, 13 Oct 2017 05:05:57 +0000 (10:35 +0530)
JIRA: SAMPLEVNF-84

Update the documents with CLI command reference and Resolve the
jenkins build warnings.

Change-Id: I2bf22507758e1a13b648cc40d86495581fe0d981
Signed-off-by: Anand B Jyoti <anand.b.jyoti@intel.com>
docs/testing/user/userguide/06-How_to_use_REST_api.rst
docs/testing/user/userguide/07-Config_files.rst
docs/testing/user/userguide/08-CLI_Commands_Reference.rst [new file with mode: 0644]
docs/testing/user/userguide/index.rst

index c2c8836..5372646 100644 (file)
@@ -91,68 +91,67 @@ for your VNF.
 URI definition for different VNF’s
 ===================================
 
 URI definition for different VNF’s
 ===================================
 
-::
 
 
-URI                                    REST Method          Arguments                  Description
+URI                                    REST Method          Arguments                  Description
 ===========================================================================================================================
 ===========================================================================================================================
-/vnf                                   GET                     None                    Displays top level methods available
-
-/vnf/config                            GET                     None                    Displays the current config set
-                                       POST                    pci_white_list:         Command success/failure
-                                                               num_worker(o):
-                                                               vnf_type(o):
-                                                               pkt_type (o):
-                                                               num_lb(o):
-                                                               sw_lb(o):
-                                                               sock_in(o):
-                                                               hyperthread(o) :
-
-/vnf/config/arp                                GET                     None                    Displays ARP/ND info
-                                       POST                    action: <add/del/req>   Command success/failure
-                                                               ipv4/ipv6: <address>
-                                                               portid: <>
-                                                               macaddr: <> for add
-
-/vnf/config/link                       GET                     None
-                                       POST                    link_id:<>              Command success/failure
-                                                               state: <1/0>
-
-/vnf/config/link/<link id>             GET                     None
-                                       POST                                            Command success/failure
-                                                               ipv4/ipv6: <address>
-                                                               depth: <>
-
-/vnf/config/route                      GET                     None                    Displays gateway route entries
-                                       POST                    portid: <>              Adds route entries for default gateway
-                                                               nhipv4/nhipv6: <addr>
-                                                               depth: <>
-                                                               type:"net/host"
-
-/vnf/config/rules(vFW/vACL only)       GET                     None                    Displays the methods /load/clear
-/vnf/config/rules/load                 GET                     None                    Displays if file was loaded
-                                       PUT                     <script file
-                                                               with cmds>              Executes each command from script file
-/vnf/config/rules/clear                        GET                     None                    Command success/failure clear the stat
-
-/vnf/config/nat(vCGNAPT only)          GET                     None                    Displays the methods /load/clear
-/vnf/config/nat/load                   GET                     None                    Displays if file was loaded
-                                       PUT                     <script file
-                                                               with commands>          Executes each command from script file
-
-/vnf/config/nat/clear                  GET                     None                    Command success/failure clear the stats
-/vnf/log                               GET                     None                    This needs to be implemented for each VNF
-                                                                                       just keeping this as placeholder.
-
-/vnf/dbg                               GET                     None                    Will display methods supported like /pipelines/cmd
-/vnf/dbg/pipelines                     GET                     None                    Displays pipeline information(names)
-                                                                                       of each pipelines
-/vnf/dbg/pipelines/<pipe id>           GET                     None                    Displays debug level for particular pipeline
-
-/vnf/dbg/cmd                           GET                     None                    Last executed command parameters
-                                       POST                    cmd:                    Command success/failure
-                                                               dbg:
-                                                               d1:
-                                                               d2:
+/vnf                                   GET                     None                    Displays top level methods available
+
+/vnf/config                            GET                     None                    Displays the current config set
+                                        POST                    pci_white_list:         Command success/failure
+                                                                num_worker(o):
+                                                                vnf_type(o):
+                                                                pkt_type (o):
+                                                                num_lb(o):
+                                                                sw_lb(o):
+                                                                sock_in(o):
+                                                                hyperthread(o) :
+
+/vnf/config/arp                         GET                     None                    Displays ARP/ND info
+                                        POST                    action: <add/del/req>   Command success/failure
+                                                                ipv4/ipv6: <address>
+                                                                portid: <>
+                                                                macaddr: <> for add
+
+/vnf/config/link                        GET                     None
+                                        POST                    link_id:<>              Command success/failure
+                                                                state: <1/0>
+
+/vnf/config/link/<link id>              GET                     None
+                                        POST                    ipv4/ipv6: <address>    Command success/failure
+                                                                depth: <>
+
+
+/vnf/config/route                       GET                     None                    Displays gateway route entries
+                                        POST                    portid: <>              Adds route entries for default gateway
+                                                                nhipv4/nhipv6: <addr>
+                                                                depth: <>
+                                                                type:"net/host"
+
+/vnf/config/rules(vFW/vACL only)        GET                     None                    Displays the methods /load/clear
+/vnf/config/rules/load                  GET                     None                    Displays if file was loaded
+                                        PUT                     <script file
+                                                                with cmds>              Executes each command from script file
+/vnf/config/rules/clear                 GET                     None                    Command success/failure clear the stat
+
+/vnf/config/nat(vCGNAPT only)           GET                     None                    Displays the methods /load/clear
+/vnf/config/nat/load                    GET                     None                    Displays if file was loaded
+                                        PUT                     <script file
+                                                                 with commands>         Executes each command from script file
+
+/vnf/config/nat/clear                   GET                     None                    Command success/failure clear the stats
+/vnf/log                                GET                     None                    This needs to be implemented for each VNF
+                                                                                        just keeping this as placeholder.
+
+/vnf/dbg                                GET                     None                    Will display methods supported like /pipelines/cmd
+/vnf/dbg/pipelines                      GET                     None                    Displays pipeline information(names)
+                                                                                        of each pipelines
+/vnf/dbg/pipelines/<pipe id>            GET                     None                    Displays debug level for particular pipeline
+
+/vnf/dbg/cmd                            GET                     None                    Last executed command parameters
+                                        POST                    cmd:                    Command success/failure
+                                                                dbg:
+                                                                d1:
+                                                                d2:
 
 API Usage
 ===============
 
 API Usage
 ===============
@@ -181,7 +180,7 @@ void rest_api_<vnf>_init(struct mg_context *ctx, struct app_params *app)
 {
         myapp = app;
 
 {
         myapp = app;
 
-       VNF specific command registration
+        VNF specific command registration
         mg_set_request_handler(,,,);
 
 }
         mg_set_request_handler(,,,);
 
 }
@@ -199,7 +198,7 @@ export VNF_CORE=`pwd`
 export RTE_SDK=`pwd`/dpdk-16.04
 export RTE_TARGET=x86_64-native-linuxapp-gcc
 
 export RTE_SDK=`pwd`/dpdk-16.04
 export RTE_TARGET=x86_64-native-linuxapp-gcc
 
-./build/vFW -p 0x3 (Without the -f & -s option)
+./build/vFW (Without the -f & -s option)
 
 1. When VNF(vCGNAPT/vACL/vFW) is launched it waits for user to provide the
 /vnf/config REST method. A typical curl command if used will look like below
 
 1. When VNF(vCGNAPT/vACL/vFW) is launched it waits for user to provide the
 /vnf/config REST method. A typical curl command if used will look like below
@@ -220,10 +219,10 @@ public_ip_port_range being added, please note the "/" being used to seperate mul
 inputs for public_ip_port_range.
 
 e.g curl -X POST -H "Content-Type:application/json" -d '{"pci_white_list": "0000:05:00.0 0000:05:00.2 0000:07:00.0 0000:07:00.2",
 inputs for public_ip_port_range.
 
 e.g curl -X POST -H "Content-Type:application/json" -d '{"pci_white_list": "0000:05:00.0 0000:05:00.2 0000:07:00.0 0000:07:00.2",
-                "num_lb":"2", "num_worker":"10","public_ip_port_range_0": "04040000:(1, 65535)/04040001:(1, 65535)",
-                "public_ip_port_range_1": "05050000:(1, 65535)/05050001:(1, 65535)" }' http://10.223.197.179/vnf/config
+                "num_lb":"2", "num_worker":"10","public_ip_port_range_0": "04040000:(1, 65535)/04040001:(1, 65535)",
+                "public_ip_port_range_1": "05050000:(1, 65535)/05050001:(1, 65535)" }' http://10.223.197.179/vnf/config
 
 
-2. Check the Link IP's using the REST API
+2. Check the Link IP's using the REST API (vCGNAPT/vACL/vFW)
 e.g curl <IP>/vnf/config/link
 
 This would indicate the number of links enabled. You should enable all the links
 e.g curl <IP>/vnf/config/link
 
 This would indicate the number of links enabled. You should enable all the links
@@ -234,7 +233,7 @@ http://<IP>/vnf/config/link
 curl -X POST -H "Content-Type:application/json" -d '{"linkid": "1", "state": "1"}'
 http://<IP>/vnf/config/link
 
 curl -X POST -H "Content-Type:application/json" -d '{"linkid": "1", "state": "1"}'
 http://<IP>/vnf/config/link
 
-3. Now that links are enabled we can configure IP's using link method as follows
+3. Now that links are enabled we can configure IP's using link method as follows (vCGNAPT/vACL/vFW)
 
 e.g  curl -X POST -H "Content-Type:application/json" -d '{"ipv4":"<IP to be configured>","depth":"24"}'
 http://<IP>/vnf/config/link/0
 
 e.g  curl -X POST -H "Content-Type:application/json" -d '{"ipv4":"<IP to be configured>","depth":"24"}'
 http://<IP>/vnf/config/link/0
@@ -248,33 +247,61 @@ required.
 curl -X POST -H "Content-Type:application/json" -d '{"portid":"0", "nhipv4":"IPV4 address",
  "depth":"8", "type":"net"}' http://<IP>/vnf/config/route
 
 curl -X POST -H "Content-Type:application/json" -d '{"portid":"0", "nhipv4":"IPV4 address",
  "depth":"8", "type":"net"}' http://<IP>/vnf/config/route
 
+4. Adding arp entries we can use this method (vCGNAPT/vACL/vFW)
+/vnf/config/arp
 
 
-4. For Firewall/ACL in order to load the rules a script file needs to be posted
-using a script.
+e.g
+
+curl -X POST -H "Content-Type:application/json" -d '{"action":"add", "ipv4":"202.16.100.20",
+                 "portid":"0", "macaddr":"00:00:00:00:00:01"}'
+                 http://10.223.166.213/vnf/config/arp
+
+curl -X POST -H "Content-Type:application/json" -d '{"action":"add", "ipv4":"172.16.40.20",
+                 "portid":"1", "macaddr":"00:00:00:00:00:02"}'
+                 http://10.223.166.213/vnf/config/arp
+
+5. Adding route entries we can use this method (vCGNAPT/vACL/vFW)
+vnf/config/route
+
+e.g curl -X POST -H "Content-Type:application/json" -d '{"type":"net", "depth":"8", "nhipv4":"202.16.100.20",
+                  "portid":"0"}' http://10.223.166.240/vnf/config/route
+curl -X POST -H "Content-Type:application/json" -d '{"type":"net", "depth":8", "nhipv4":"172.16.100.20",
+                 "portid":"1"}' http://10.223.166.240/vnf/config/route
+
+5. In order to load the rules a script file needs to be posting a script.(vACL/vFW)
 /vnf/config/rules/load
 
 Typical example for loading a script file is shown below
 curl -X PUT -F 'image=@<path to file>' http://<IP>/vnf/config/rules/load
 
 /vnf/config/rules/load
 
 Typical example for loading a script file is shown below
 curl -X PUT -F 'image=@<path to file>' http://<IP>/vnf/config/rules/load
 
-vCGNAPT can use the following REST api's for runtime configuring through a script
+typically arpadd/routeadd commands can be provided as part of this to
+add static arp entries & adding route entries providing the NHIP's.
+
+6. The following REST api's for runtime configuring through a script (vCGNAPT Only)
 /vnf/config/rules/clear
 /vnf/config/rules/clear
-/vnf/config/nat(vCGNAPT only)
+/vnf/config/nat
 /vnf/config/nat/load
 
 /vnf/config/nat/load
 
-For debug purpose following REST API's could be used as described above.
+7. For debug purpose following REST API's could be used as described above.(vCGNAPT/vACL/vFW)
 
 /vnf/dbg
 
 /vnf/dbg
+
+e.g curl http://10.223.166.240/vnf/config/dbg
+
 /vnf/dbg/pipelines
 /vnf/dbg/pipelines
+e.g curl http://10.223.166.240/vnf/config/dbg/pipelines
+
 /vnf/dbg/pipelines/<pipe id>
 /vnf/dbg/pipelines/<pipe id>
+e.g curl http://10.223.166.240/vnf/config/dbg/pipelines/<id>
+
 /vnf/dbg/cmd
 
 /vnf/dbg/cmd
 
-5. For stats we can use the following method
+8. For stats we can use the following method (vCGNAPT/vACL/vFW)
 
 /vnf/stats
 e.g curl <IP>/vnf/stats
 
 
 /vnf/stats
 e.g curl <IP>/vnf/stats
 
-6. For quittiong the application
+9. For quittiong the application (vCGNAPT/vACL/vFW)
 /vnf/quit
 
 e.g curl <IP>/vnf/quit
 /vnf/quit
 
 e.g curl <IP>/vnf/quit
-
index 6ad6c6f..9061ee5 100644 (file)
@@ -7,14 +7,14 @@ SampleVNF - Config files
 ========================
 
 The configuration files are created based on the DUT test scenarios.
 ========================
 
 The configuration files are created based on the DUT test scenarios.
-The example reference files are provided as part of the VNFs in the 
+The example reference files are provided as part of the VNFs in the
 config folder.
 
 Following parameters will define the config files.
 
 config folder.
 
 Following parameters will define the config files.
 
-1. Loadbalancing: Hardware or Software
+1. Load balancing type: Hardware or Software
 2. Traffic type: IPv4 or IPv6
 2. Traffic type: IPv4 or IPv6
-3. Number of Ports: pairs: Single port or Multi-Port 
+3. Number of Port Pairs: Single or Multi
 
 Following are the example configuration files for sampleVNFs.
 
 
 Following are the example configuration files for sampleVNFs.
 
@@ -31,7 +31,7 @@ The reference configuration files explained here are for Software and Hardware
 loadbalancing with IPv4 traffic type and single port pair.
 For other configurations liek IPv6 and Multi-port, refer to example config
 files provided as part of the source code in config(VNFs/vFW/config) folder
 loadbalancing with IPv4 traffic type and single port pair.
 For other configurations liek IPv6 and Multi-port, refer to example config
 files provided as part of the source code in config(VNFs/vFW/config) folder
-of the VNFs. 
+of the VNFs.
 
 1. SWLB, IPv4, Single Port Pair, 4WT:
 
 
 1. SWLB, IPv4, Single Port Pair, 4WT:
 
@@ -40,35 +40,35 @@ of the VNFs.
     [PIPELINE0]
     type = MASTER
     core = 0
     [PIPELINE0]
     type = MASTER
     core = 0
-    
+
     [PIPELINE1]
     type =  ARPICMP
     core = 0
     [PIPELINE1]
     type =  ARPICMP
     core = 0
-    
+
     pktq_in  = SWQ2
     pktq_out = TXQ0.0 TXQ1.0
     pktq_in  = SWQ2
     pktq_out = TXQ0.0 TXQ1.0
-    
+
     ; IPv4 ARP route table entries (dst_ip, mask, if_port, nh) hex values with no 0x
     ; arp_route_tbl = (ac102814,ff000000,1,ac102814) (ca106414,ff000000,0,ca106414)
     ; IPv4 ARP route table entries (dst_ip, mask, if_port, nh) hex values with no 0x
     ; arp_route_tbl = (ac102814,ff000000,1,ac102814) (ca106414,ff000000,0,ca106414)
-    
+
     ; IPv6 ARP route table entries (dst_ip, mask, if_port, nh) hex values with no 0x
     ;nd_route_tbl =  (fec0::6a05:caff:fe30:21b0,64,0,fec0::6a05:caff:fe30:21b0)
     ;nd_route_tbl =  (2012::6a05:caff:fe30:2081,64,1,2012::6a05:caff:fe30:2081)
     ; IPv6 ARP route table entries (dst_ip, mask, if_port, nh) hex values with no 0x
     ;nd_route_tbl =  (fec0::6a05:caff:fe30:21b0,64,0,fec0::6a05:caff:fe30:21b0)
     ;nd_route_tbl =  (2012::6a05:caff:fe30:2081,64,1,2012::6a05:caff:fe30:2081)
-    
+
     ; egress (private interface) info
     pktq_in_prv =  RXQ0.0
     ; egress (private interface) info
     pktq_in_prv =  RXQ0.0
-    
+
     ;for pub port <-> prv port mapping (prv, pub)
     prv_to_pub_map = (0,1)
     prv_que_handler = (0)
     ;for pub port <-> prv port mapping (prv, pub)
     prv_to_pub_map = (0,1)
     prv_que_handler = (0)
-    
+
     [PIPELINE2]
     type = TXRX
     core = 1
     pktq_in  = RXQ0.0 RXQ1.0
     pktq_out = SWQ0 SWQ1 SWQ2
     pipeline_txrx_type = RXRX
     [PIPELINE2]
     type = TXRX
     core = 1
     pktq_in  = RXQ0.0 RXQ1.0
     pktq_out = SWQ0 SWQ1 SWQ2
     pipeline_txrx_type = RXRX
-    
+
     [PIPELINE3]
     type = LOADB
     core = 2
     [PIPELINE3]
     type = LOADB
     core = 2
@@ -79,13 +79,13 @@ of the VNFs.
     prv_que_handler = (0)
     n_lb_tuples = 5 ; tuple(src_ip,dst_ip, src_port, dst_port, protocol)
     ;loadb_debug = 0
     prv_que_handler = (0)
     n_lb_tuples = 5 ; tuple(src_ip,dst_ip, src_port, dst_port, protocol)
     ;loadb_debug = 0
-    
+
     [PIPELINE4]
     type = VFW
     core = 3
     pktq_in  = SWQ3 SWQ4
     pktq_out = SWQ11 SWQ12;TXQ0.0 TXQ1.0
     [PIPELINE4]
     type = VFW
     core = 3
     pktq_in  = SWQ3 SWQ4
     pktq_out = SWQ11 SWQ12;TXQ0.0 TXQ1.0
-    
+
     n_rules = 4096 ; Max number of ACL rules
     ;n_flows gets round up to power of 2
     n_flows = 1048576 ; Max number of connections/flows per vFW WT
     n_rules = 4096 ; Max number of ACL rules
     ;n_flows gets round up to power of 2
     n_flows = 1048576 ; Max number of connections/flows per vFW WT
@@ -97,13 +97,13 @@ of the VNFs.
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180 ; UDP timeouts for unreplied traffic
     udp_replied = 180 ; UDP timeout for replied traffic
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180 ; UDP timeouts for unreplied traffic
     udp_replied = 180 ; UDP timeout for replied traffic
-    
+
     [PIPELINE5]
     type = VFW
     core = 4
     pktq_in  = SWQ5 SWQ6
     pktq_out = SWQ13 SWQ14;TXQ0.0 TXQ1.0
     [PIPELINE5]
     type = VFW
     core = 4
     pktq_in  = SWQ5 SWQ6
     pktq_out = SWQ13 SWQ14;TXQ0.0 TXQ1.0
-    
+
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
@@ -115,13 +115,13 @@ of the VNFs.
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
-    
+
     [PIPELINE6]
     type = VFW
     core = 5
     pktq_in  = SWQ7 SWQ8
     pktq_out = SWQ15 SWQ16
     [PIPELINE6]
     type = VFW
     core = 5
     pktq_in  = SWQ7 SWQ8
     pktq_out = SWQ15 SWQ16
-    
+
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
@@ -133,24 +133,24 @@ of the VNFs.
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
-    
+
     [PIPELINE7]
     type = VFW
     core = 6
     pktq_in  = SWQ9 SWQ10
     pktq_out = SWQ17 SWQ18
     [PIPELINE7]
     type = VFW
     core = 6
     pktq_in  = SWQ9 SWQ10
     pktq_out = SWQ17 SWQ18
-    
+
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
-    traffic_type = 4 ; IPv4 Traffic 
+    traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
     tcp_time_wait = 10
     tcp_be_liberal = 0
     udp_unreplied = 180
     udp_replied = 180
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
     tcp_time_wait = 10
     tcp_be_liberal = 0
     udp_unreplied = 180
     udp_replied = 180
-    
+
     [PIPELINE8]
     type = TXRX
     core = 1h
     [PIPELINE8]
     type = TXRX
     core = 1h
@@ -168,30 +168,30 @@ This configuration doesn't require LOADB and TXRX pipelines
     [PIPELINE0]
     type = MASTER
     core = 0
     [PIPELINE0]
     type = MASTER
     core = 0
-    
+
     [PIPELINE1]
     type =  ARPICMP
     core = 0
     pktq_in  = SWQ0 SWQ1 SWQ2 SWQ3
     pktq_out = TXQ0.0 TXQ1.0
     [PIPELINE1]
     type =  ARPICMP
     core = 0
     pktq_in  = SWQ0 SWQ1 SWQ2 SWQ3
     pktq_out = TXQ0.0 TXQ1.0
-    
+
     ; egress (private interface) info
     pktq_in_prv =  RXQ0.0
     ; egress (private interface) info
     pktq_in_prv =  RXQ0.0
-    
+
     ;for pub port <-> prv port mapping (prv, pub)
     prv_to_pub_map = (0,1)
     prv_que_handler = (0)
     ;for pub port <-> prv port mapping (prv, pub)
     prv_to_pub_map = (0,1)
     prv_que_handler = (0)
-    
+
     [PIPELINE2]
     type = VFW
     core = 1
     pktq_in  = RXQ0.0 RXQ1.0
     pktq_out = TXQ0.1 TXQ1.1 SWQ0
     [PIPELINE2]
     type = VFW
     core = 1
     pktq_in  = RXQ0.0 RXQ1.0
     pktq_out = TXQ0.1 TXQ1.1 SWQ0
-    
+
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
-    
+
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
@@ -200,17 +200,17 @@ This configuration doesn't require LOADB and TXRX pipelines
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
-    
+
     [PIPELINE3]
     type = VFW
     core = 2
     pktq_in  = RXQ0.1 RXQ1.1
     pktq_out = TXQ0.2 TXQ1.2 SWQ1
     [PIPELINE3]
     type = VFW
     core = 2
     pktq_in  = RXQ0.1 RXQ1.1
     pktq_out = TXQ0.2 TXQ1.2 SWQ1
-    
+
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
-    
+
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
@@ -219,17 +219,17 @@ This configuration doesn't require LOADB and TXRX pipelines
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
-    
+
     [PIPELINE4]
     type = VFW
     core = 3
     pktq_in  = RXQ0.2 RXQ1.2
     pktq_out = TXQ0.3 TXQ1.3 SWQ2
     [PIPELINE4]
     type = VFW
     core = 3
     pktq_in  = RXQ0.2 RXQ1.2
     pktq_out = TXQ0.3 TXQ1.3 SWQ2
-    
+
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
-    
+
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
@@ -238,17 +238,17 @@ This configuration doesn't require LOADB and TXRX pipelines
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
     ;udp_unreplied and udp_replied controls udp "connection" timeouts, normally 30/180
     udp_unreplied = 180
     udp_replied = 180
-    
+
     [PIPELINE5]
     type = VFW
     core = 4
     pktq_in  = RXQ0.3 RXQ1.3
     pktq_out = TXQ0.4 TXQ1.4 SWQ3
     [PIPELINE5]
     type = VFW
     core = 4
     pktq_in  = RXQ0.3 RXQ1.3
     pktq_out = TXQ0.4 TXQ1.4 SWQ3
-    
+
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
     n_rules = 4096
     ;n_flows gets round up to power of 2
     n_flows = 1048576
-    
+
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
     traffic_type = 4 ; IPv4 Traffic
     ;traffic_type = 6 ; IPv6 Traffic
     ; tcp_time_wait controls timeout for closed connection, normally 120
@@ -266,7 +266,7 @@ The reference configuration files explained here are for Software and Hardware
 loadbalancing with IPv4 traffic type and single port pair.
 For other configurations liek IPv6 and Multi-port, refer to example config
 files provided as part of the source code in config(VNFs/vACL/config) folder
 loadbalancing with IPv4 traffic type and single port pair.
 For other configurations liek IPv6 and Multi-port, refer to example config
 files provided as part of the source code in config(VNFs/vACL/config) folder
-of the VNFs. 
+of the VNFs.
 
 1. SWLB, IPv4, Single Port Pair, 1 WT:
 
 
 1. SWLB, IPv4, Single Port Pair, 1 WT:
 
@@ -276,7 +276,7 @@ of the VNFs.
     # add pci whitelist eg below
     w = 05:00.0  ; Network Ports binded to dpdk
     w = 05:00.1  ; Network Ports binded to dpdk
     # add pci whitelist eg below
     w = 05:00.0  ; Network Ports binded to dpdk
     w = 05:00.1  ; Network Ports binded to dpdk
-    
+
     [PIPELINE0]
     type = MASTER
     core = 0
     [PIPELINE0]
     type = MASTER
     core = 0
@@ -289,7 +289,7 @@ of the VNFs.
     pktq_in_prv =  RXQ0.0
     prv_to_pub_map = (0,1)
     prv_que_handler = (0)
     pktq_in_prv =  RXQ0.0
     prv_to_pub_map = (0,1)
     prv_que_handler = (0)
-    
+
     [PIPELINE2]
     type = TXRX
     core = 1
     [PIPELINE2]
     type = TXRX
     core = 1
@@ -327,13 +327,13 @@ of the VNFs.
 
 2. SWLB, IPv4, Single Port Pair, 1 WT:
 
 
 2. SWLB, IPv4, Single Port Pair, 1 WT:
 
- ::    
+ ::
 
     [EAL]
     # add pci whitelist eg below
     w = 05:00.0
     w = 05:00.1
 
     [EAL]
     # add pci whitelist eg below
     w = 05:00.0
     w = 05:00.1
-    
+
     [PIPELINE0]
     type = MASTER
     core = 0
     [PIPELINE0]
     type = MASTER
     core = 0
diff --git a/docs/testing/user/userguide/08-CLI_Commands_Reference.rst b/docs/testing/user/userguide/08-CLI_Commands_Reference.rst
new file mode 100644 (file)
index 0000000..ece0986
--- /dev/null
@@ -0,0 +1,531 @@
+.. This work is licensed under a creative commons attribution 4.0 international
+.. license.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) opnfv, national center of scientific research "demokritos" and others.
+
+=====================
+CLI Command Reference
+=====================
+
+Introduction
+============
+This chapter provides a commonly used sampleVNFs CLI commmands description.
+The more detailed information and details will be available from the CLI
+prompt of the VNF.
+
+Generic commands
+================
+
+routeadd
+--------
+The routeadd command provides a mechanism to add the routing entries for the
+VNF.
+
+The destination device me be directly(host) attached or attached to net. The
+parameter net or host should be used accordngly along with other information.
+
+IPv4 interaface:
+
+::
+
+ Syntax:
+
+ routeadd <net/host> <port #> <ipv4 nhip address in decimal> <Mask/NotApplicable>
+
+ Example:
+
+ routeadd net 0 202.16.100.20 0xffff0000
+ routeadd net 1 172.16.40.20 0xffff0000
+ routeadd host 0 202.16.100.20
+ routeadd host 1 172.16.40.20
+
+
+IPv6 interaface:
+
+::
+
+ Syntax:
+
+ routeadd <net/host> <port #> <ipv6 nhip address in hex> <Depth/NotApplicable>
+
+ Example:
+
+ routeadd net 0 fec0::6a05:caff:fe30:21b0 64
+ routeadd net 1 2012::6a05:caff:fe30:2081 64
+ routeadd host 0 fec0::6a05:caff:fe30:21b0
+ routeadd host 1 2012::6a05:caff:fe30:2081
+
+
+The route can also be added to the VNF as a config parameters. This method is
+deprecated and not recommended to use but is supported for backward
+compatiblity.
+
+IPv4 interaface:
+
+::
+
+ Syntax:
+
+ ARP route table entries (ip, mask, if_port, nh) hex values with no 0x
+
+ Example:
+
+ arp_route_tbl = (c0106414,FFFF0000,0,c0106414)
+ arp_route_tbl = (ac102814,FFFF0000,1,ac102814)
+
+
+IPv6 interaface:
+
+::
+
+ Syntax:
+
+ ARP route table entries (ip, mask, if_port, nh) hex values with no 0x
+
+ Example:
+
+ nd_route_tbl = (0064:ff9b:0:0:0:0:9810:6414,120,0,0064:ff9b:0:0:0:0:9810:6414)
+ nd_route_tbl = (0064:ff9b:0:0:0:0:9810:2814,120,1,0064:ff9b:0:0:0:0:9810:2814)
+
+
+arpadd
+------
+The arpadd command is provided to add the static arp entries to the VNF.
+
+IPv4 interface:
+
+::
+
+ Syntax:
+
+ p <arpicmp_pipe_id> arpadd <interface_id> <ip_address in deciaml> <mac addr in hex>
+
+ Example:
+
+ p 1 arpadd 0 202.16.100.20 00:ca:10:64:14:00
+ p 1 arpadd 1 172.16.40.20 00:ac:10:28:14:00
+
+
+IPv6 interface:
+
+::
+
+ Syntax:
+
+ p <arpicmp_pipe_id> arpadd <interface_id> <ip_address in deciaml> <mac addr in hex>
+
+ Example:
+
+ p 1 arpadd 0 0064:ff9b:0:0:0:0:9810:6414 00:00:00:00:00:01
+ p 1 arpadd 1 0064:ff9b:0:0:0:0:9810:2814 00:00:00:00:00:02
+
+
+lbentry
+-------
+Loadbalancer CLI commands for debug
+
+::
+
+ LB Commands
+ -------------------------------------------------------------
+ Commands                       Description
+ -------------------------------------------------------------
+ p <pipe_id> lbentry dbg 0 0   To show received packets count
+ p <pipe_id> lbentry dbg 1 0   To reset received packets count
+ p <pipe_id> lbentry dbg 2 0   To set debug level
+ p <pipe_id> lbentry dbg 3 0   To display debug level
+ p <pipe_id> lbentry dbg 4 0   To display port statistics
+
+
+arpls
+-----
+
+The arpls command is used to list the arp and route entries.
+
+::
+
+ Syntax:
+
+ P <pipe_id> arpls <0: IPv4, 1: IPv6>
+
+ Example:
+
+ p 1 arpls 0
+ p 1 arpls 1
+
+
+vFW Specific commands
+=====================
+The following list of commands are specific to VFW pipeline.
+
+action add
+----------
+Refer to "action add" CLI command line help to get more details.
+Many options are available for this command for accept, fwd, count, conntrack
+etc.
+
+applyruleset
+------------
+This command must be executed to apply the ACL rules configured.
+
+::
+
+ Syntax/Example:
+
+ p vfw applyruleset
+
+
+add
+---
+This command is used to add teh ACL rules to vFW
+
+Adding ACL rules for IPv4:
+
+::
+
+ Syntax:
+
+ p vfw add <priority> <src_ip> <mask> <dst_ip> <mask> <src_port_start> <src_port_end> <dst_port_start> <dst_port_end> <protocol_mask> <action_id>
+ ;Log info: Prio = 1 (SA = 202.0.0.0/8, DA = 192.0.0.0/8, SP = 0-65535, DP = 0-65535, Proto = 0 / 0x0) => Action ID = 1
+
+ Example:
+
+ p vfw add 2 202.16.100.20 8 172.16.40.20 8 0 65535 0 65535 0 0 1
+ p vfw add 2 172.16.40.20 8 202.16.100.20 8 0 65535 0 65535 0 0 0
+
+
+Adding ACL rules for IPv6:
+
+::
+
+ Syntax:
+
+ p vfw add <priority> <src_ip> <mask> <dst_ip> <mask> <src_port_start> <src_port_end> <dst_port_start> <dst_port_end> <protocol_mask> <action_id>
+
+ Example:
+
+ p vfw add 2 fec0::6a05:caff:fe30:21b0 64 2012::6a05:caff:fe30:2081 64 0 65535 0 65535 0 0 1
+ p vfw add 2 2012::6a05:caff:fe30:2081 64 fec0::6a05:caff:fe30:21b0 64 0 65535 0 65535 0 0 0
+
+
+stats
+-----
+Display vFW stats.
+
+::
+
+ Syntax/Example:
+
+ p vfw stats
+
+clearstats
+-----------
+Clear vFW stats
+
+::
+
+ Syntax/Example:
+
+ p vfw clearstats
+
+counterdump
+-----------
+Enable or disable the counterdump using the following commands
+
+::
+
+ Syntax/Example:
+
+ p vfw counterdump start
+ p vfw counterdump stop
+
+debug
+-----
+Enable or Disable the dynamic debug logs
+
+::
+
+ Syntax/Example:
+
+ Disable dbg logs
+ p vfw dbg 0
+
+ Enable dbg logs
+ p vfw dbg 1
+
+firewall
+--------
+Enable or disable the firewall basic filtering using following commands.
+
+::
+
+ Syntax/Example:
+
+ To disable
+ p <pipe_id> vfw firewall 0
+
+ To enable
+ p <pipe_id> vfw firewall 1
+
+synproxy
+--------
+Enable or disable the synproxy using following commands.
+
+::
+
+ Syntax/Example:
+
+ To disable
+ p <pipe_id> vfw synproxy 0
+
+ To enable
+ p <pipe_id> vfw synproxy 1
+
+conntrack
+---------
+Enable or disable the connection tracking per VFW pipeline
+
+::
+
+ Syntax/Example:
+
+ To enable connection tracking
+ p action add <pipe_id> conntrack
+
+ To disable connection tracking
+ p action del <pipe_id> conntrack
+
+
+loadrules
+---------
+
+A new file containing ACL rules and actions. The existing ACL rules and actions are
+cleared.
+
+::
+
+ Syntax:
+ p vfw loadrules <rule file>
+
+ Example:
+ p vfw loadrules ./config/acl_script_rules.tc
+
+list
+----
+List the ACL rules in vFW
+
+::
+
+ Syntax/Example:
+
+ List Active ACL rules
+ p vfw ls 0
+
+ List Standby ACL rules
+ p vfw ls 1
+
+
+vACL Specific commands
+======================
+Following are the typical commands used in vACL. Refer to CLI command line
+prompt for more details.
+
+
+action add
+----------
+Using pipeline CLI, an action can be added using the following command:
+
+::
+
+ Syntax:
+ p action add <action-id> <action> <optional option>
+
+ Example:
+
+ Accept:
+ p action add 1 accept
+
+ Drop:
+ p action add 2 drop
+
+ Count:
+ p action add 1 count
+
+ fwd:
+ p action add 1 fwd 1
+ Where a port # must be specified
+
+ NAT:
+ p action add 3 nat 2
+ Where a port # must be specified
+
+ List Action:
+ p action ls <pipleine-id>
+ e.g. p action ls 2
+
+add rules
+---------
+Using pipeline CLI, an ACL rule can be added using the following command:
+
+::
+
+ Syntax:
+ p acl add <priority> <src-ip> <mask> <dst-ip> <mask> <src-port-from> <src-port-to> <dst-port-from> <dst-port-to> <protocol> <protocol-mask> <action-id>
+
+ Example:
+ p acl add 1 0.0.0.0 0 0.0.0.0 0 0 65535 0 65535 0 0 1
+
+ UDP only with source and destination IP addresses:
+ p acl add 1 172.16.100.00 24 172.16.40.00 24 0 65535 0 65535 17 255 1
+ p acl add 1 172.16.40.00 24 172.16.100.00 24 0 65535 0 65535 17 255 1
+
+ UDP Only:
+ p acl add 1 0.0.0.0 0 0.0.0.0 0 0 65535 0 65535 17 255 1
+
+ Allow all packets:
+ -----------------
+ p acl add 1 0.0.0.0 0 0.0.0.0 0 0 65535 0 65535 0 0 1
+
+
+list ACL rules
+--------------
+Using pipeline CLI, the list of current ACL rules can be viewed using:
+
+::
+
+ Syntax:
+ p acl ls <pipe_id>
+
+ Example:
+ p acl ls 2
+
+
+del an ACL rule
+---------------
+Using pipeline CLI, an ACL rule can be deleted using the following command:
+
+::
+
+ Syntax:
+ p acl del <src-ip> <mask> <dst-ip> <mask> <src-port-from> <src-port-to> <dst-port-from> <dst-port-to> <protocol> <protocol-mask>
+
+ Example:
+ p acl del 0.0.0.0 0 0.0.0.0 0 0 65535 0 65535 0 0
+
+
+stats
+-----
+Display ACL stats.
+
+::
+
+ Syntax/Example:
+
+ p acl stats
+
+clearstats
+-----------
+Clear ACL stats
+
+::
+
+ Syntax/Example:
+
+ p acl clearstats
+
+
+loadrules
+---------
+
+A new file containing ACL rules and actions. The existing ACL rules and actions are
+cleared.
+
+::
+
+ Syntax:
+ p acl loadrules <rule file>
+
+ Example:
+ p acl loadrules ./config/acl_script_rules.tc
+
+
+debug
+-----
+Debug logs can be turn on or turn off using the following commands
+
+::
+
+ Syntax/Example:
+
+ Turn on Debug:
+ p 2 acl dbg 1
+
+ Turn off Debug:
+ p 2 acl dbg 0
+
+
+vCGNAT Specific commands
+========================
+
+The following are the details of the CLI commands supported by vCGNAT.
+Refer to vCGNAPT application CLI command prompt help more details.
+
+::
+
+ To add bulk vCGNAPT entries
+ p <pipe_id> entry addm <prv_ip/prv_ipv6> <prv_port> <pub_ip> <pub_port> <phy_port> <ttl> <no_of_entries> <end_prv_port> <end_pub_port>
+
+ To add single vCGNAPT entry
+ p <pipe_id> entry add <prv_ip/prv_ipv6> <prv_port> <pub_ip> <pub_port> <phy_port> <ttl>
+
+ To delete single vCGNAPT entry
+ p <pipe_id> entry del <prv_ip/prv_ipv6> <prv_port> <phy_port>
+
+ Displays all vCGNAPT static entries
+ p <pipe_id> entry ls
+
+ To display debug level , bulk entries added count
+ p <pipe_id> entry dbg 3 0 0
+
+ To show counters info
+ p <pipe_id> entry dbg 3 3 0
+
+ To show physical port statistics
+ p <pipe_id> entry dbg 6 0 0
+
+ To show SWQ number stats
+ p <pipe_id> entry dbg 6 1 <SWQ number>
+
+ For code instrumentation
+ p <pipe_id> entry dbg 7 0 0
+
+ Displays CGNAPT version
+ p <pipe_id> entry ver 1 0
+
+ To enable ipv6 traffic.
+ p <pipe_id> entry dbg 11 1 0
+
+ To disable ipv6 traffic.
+ p <pipe_id> entry dbg 11 0 0
+
+ To add Network Specific Preifx and depth in prefix table
+ p <pipe_id> nsp add <nsp_prefix/depth>
+
+ To delete Network Specific Preifx and depth in prefix table
+ p <pipe_id> nsp del <nsp_prefix/depth>
+
+ To show nsp prefix/depth configured/added in prefix table.
+ p <pipe_id> entry dbg 13 0 0
+
+ To show number of clients per public IP address
+ p <pipe_id> entry dbg 14 0 0
+
+ To show list of public IP addresses
+ p <pipe_id> entry dbg 15 0 0
+
+ To show number of clients per public IP address
+ p <pipe_id> numipcli
+
+ Enable dual stack.
+ p <pipe_id> entry dbg 11 1 0
+
index 71f3a0e..8d79762 100644 (file)
@@ -19,5 +19,6 @@ SampleVNF User Guide
    05-How_to_run_SampleVNFs
    06-How_to_use_REST_api
    07-Config_files
    05-How_to_run_SampleVNFs
    06-How_to_use_REST_api
    07-Config_files
+   08-CLI_Commands_Reference
    glossary
    references
    glossary
    references