From fb2d81d0e3d0d766f59511df7cf7a5d151674c3b Mon Sep 17 00:00:00 2001 From: Patrice Buriez Date: Fri, 16 Dec 2022 15:37:41 +0000 Subject: Fix releng-tox Jenkins job Many reStructuredText issues Signed-off-by: Patrice Buriez Change-Id: I07e6af54d2ea15fa1ab1a08ad3c0b22643e7462e --- docs/conf.py | 3 + docs/release/release-notes/release-notes.rst | 17 +++-- docs/release/results/overview.rst | 2 +- .../developer/design/02-Get_started_Guide.rst | 2 +- .../developer/design/04-SampleVNF_Design.rst | 77 ++++++++++++---------- .../developer/requirements/03-Requirements.rst | 2 +- docs/testing/user/userguide/01-introduction.rst | 0 .../user/userguide/01-prox_documentation.rst | 4 +- docs/testing/user/userguide/03-architecture.rst | 14 ++-- docs/testing/user/userguide/03-installation.rst | 6 +- .../testing/user/userguide/04-running_the_test.rst | 3 +- .../user/userguide/05-How_to_run_SampleVNFs.rst | 26 ++++---- .../user/userguide/06-How_to_use_REST_api.rst | 23 +++++-- docs/testing/user/userguide/07-Config_files.rst | 2 +- docs/testing/user/userguide/index.rst | 1 - docs/testing/user/userguide/references.rst | 6 +- 16 files changed, 107 insertions(+), 81 deletions(-) mode change 100755 => 100644 docs/testing/user/userguide/01-introduction.rst mode change 100755 => 100644 docs/testing/user/userguide/03-architecture.rst (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index 3c4453e7..4821d0aa 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1 +1,4 @@ from docs_conf.conf import * +linkcheck_ignore = [ + r'https://trex-tgn.cisco.com/', + ] diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index 80f63e32..f9daae50 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -14,7 +14,7 @@ OPNFV Jerma Release OPNFV Hunter Release -====================== +==================== This Hunter release provides *SampleVNF* as a approx VNF repository for VNF/NFVI testing, characterization and OPNFV feature testing, automated on @@ -30,7 +30,7 @@ OPNFV platform, including: * Results -* Automated SampleVNF test suit in OPNFV Yardstick_ Project +* Automated SampleVNF test suit in OPNFV Yardstick Project * SampleVNF source code @@ -42,7 +42,7 @@ For Hunter release, the *SampleVNF* supported: | *CGNAPT* | Carrier Grade Network Address and port Translation .5.0 | v0.1.0 | +----------------+---------------------------------------------------------+-------------------+ | *Prox* | Packet pROcessing eXecution engine | v0.40.0 | -| | acts as traffic generator, L3FWD, L2FWD, BNG etc | | +| | acts as traffic generator, L3FWD, L2FWD, BNG etc | | +----------------+---------------------------------------------------------+-------------------+ | *vACL* | Access Control List | v0.1.0 | +----------------+---------------------------------------------------------+-------------------+ @@ -68,14 +68,16 @@ testing: * Network - rfc2544, rfc3511, latency, http_test etc -The *SampleVNF* is developed in the OPNFV community, by the SampleVNF_ team. +The *SampleVNF* is developed in the OPNFV community, by the SampleVNF team. The *Network Service Benchmarking* SampleVNF Characterization Testing tool is a part of the Yardstick Project. .. note:: The test case description template used for the SampleVNF in yardstick - test cases is based on the document ETSI-ISG NFV-TST001_; the results report template + test cases is based on the document `ETSI GS NFV-TST 001`_; the results report template used for the SampleVNF test results is based on the IEEE Std 829-2008. +.. _ETSI GS NFV-TST 001: https://portal.etsi.org/webapp/workprogram/Report_WorkItem.asp?WKI_ID=46009 + Release Data ------------ @@ -98,6 +100,7 @@ Release Data +--------------------------------------+--------------------------------------+ | **Purpose of the delivery** | Hunter alignment to Released | | | bug-fixes for the following: | +| | | | | - Memory leak | | | - minimum latency | | | - Increase default mbuf size and | @@ -266,10 +269,10 @@ Open JIRA tickets Useful links ------------ - - wiki project page: https://wiki.opnfv.org/display/SAM + - wiki project page: https://wiki-old.opnfv.org/display/SAM - wiki SampleVNF Hunter release planing page: https://wiki.opnfv.org/display/SAM/G+-+Release+SampleVNF+planning - - SampleVNF repo: https://git.opnfv.org/cgit/samplevnf + - SampleVNF repo: https://git.opnfv.org/samplevnf/ - SampleVNF IRC chanel: #opnfv-samplevnf diff --git a/docs/release/results/overview.rst b/docs/release/results/overview.rst index df04d327..5a2f2b8a 100644 --- a/docs/release/results/overview.rst +++ b/docs/release/results/overview.rst @@ -6,7 +6,7 @@ SampleVNF test tesult document overview ======================================= -.. _`SampleVNF user guide`: artifacts.opnfv.org/samplevnf/docs/userguide/index.html +.. _`SampleVNF user guide`: http://artifacts.opnfv.org/samplevnf/docs/testing_user_userguide/index.html This document provides an overview of the results of test cases developed by the OPNFV SampleVNF Project & test cases executed part of yardstick diff --git a/docs/testing/developer/design/02-Get_started_Guide.rst b/docs/testing/developer/design/02-Get_started_Guide.rst index c8f35ed3..2a9806b5 100644 --- a/docs/testing/developer/design/02-Get_started_Guide.rst +++ b/docs/testing/developer/design/02-Get_started_Guide.rst @@ -6,7 +6,7 @@ ==================================== Get started as a SampleVNF developer -=================================== +==================================== .. _SampleVNF: https://wiki.opnfv.org/samplevnf .. _Gerrit: https://www.gerritcodereview.com/ diff --git a/docs/testing/developer/design/04-SampleVNF_Design.rst b/docs/testing/developer/design/04-SampleVNF_Design.rst index a3332e27..f813a297 100644 --- a/docs/testing/developer/design/04-SampleVNF_Design.rst +++ b/docs/testing/developer/design/04-SampleVNF_Design.rst @@ -348,7 +348,7 @@ transmit takes packets from worker thread in a dedicated ring and sent to the hardware queue. Master pipeline -^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^ 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: @@ -359,7 +359,7 @@ is responsible for: 4. ARP and ICMP are handled here. Load Balancer pipeline -^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^ Load balancer is part of the Multi-Threaded CGMAPT release which distributes the flows to Multiple ACL worker threads. @@ -371,7 +371,7 @@ affinity of flows to worker threads. Tuple can be modified/configured using configuration file 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 @@ -383,7 +383,7 @@ match will be taken a default action. The default action may result in drop of the packets. 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 @@ -399,11 +399,13 @@ 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 ----------------------- +----------------------- -IXIA(Port 0)-->(Port 0)VNF(Port 1)-->(Port 1) IXIA +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). vCGNAPT Dynamic Topology (UDP_REPLAY) @@ -411,9 +413,11 @@ vCGNAPT Dynamic Topology (UDP_REPLAY) IXIA(Port 0)-->(Port 0)VNF(Port 1)-->(Port 0)UDP_REPLAY 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). + will immediately replay back the traffic to IXIA interface. (Pub -->Priv). How to run L4Replay ------------------- @@ -431,7 +435,7 @@ vACL - Design ============= Introduction --------------- +------------ This application implements Access Control List (ACL). ACL is typically used for rule based policy enforcement. It restricts access to a destination IP address/port based on various header fields, such as source IP address/port, @@ -439,12 +443,12 @@ destination IP address/port and protocol. It is built on top of DPDK and uses the packet framework infrastructure. Scope ------- +----- This application provides a standalone DPDK based high performance ACL Virtual Network Function implementation. High Level Design ------------------- +----------------- The ACL Filter performs bulk filtering of incoming packets based on rules in current ruleset, discarding any packets not permitted by the rules. The mechanisms needed for building the rule database and performing lookups are @@ -460,12 +464,12 @@ The Input and Output FIFOs will be implemented using DPDK Ring Buffers. The DPDK ACL example: -http://dpdk.org/doc/guides/sample_app_ug/l3_forward_access_ctrl.html +http://doc.dpdk.org/guides/sample_app_ug/l3_forward.html #figure-ipv4-acl-rule contains a suitable syntax and parser for ACL rules. Components of ACL ------------------- +----------------- In ACL, each component is constructed as a packet framework. It includes Master pipeline component, driver, load balancer pipeline component and ACL worker pipeline component. A pipeline framework is a collection of input ports, @@ -607,27 +611,33 @@ Edge Router has the following functionalities in Upstream. Update the packet color in MPLS EXP field in each MPLS header. Components of vPE -------------------- +----------------- The vPE has downstream and upstream pipelines controlled by Master component. -Edge router processes two different types of traffic through pipelines -I. Downstream (Core-to-Customer) - 1. Receives TCP traffic from core - 2. Routes the packet based on the routing rules - 3. Performs traffic scheduling based on the traffic profile - a. Qos scheduling is performed using token bucket algorithm - SVLAN, CVLAN, DSCP fields are used to determine transmission priority. - 4. Appends QinQ label in each outgoing packet. -II. Upstream (Customer-to-Core) - 1. Receives QinQ labelled TCP packets from Customer - 2. Removes the QinQ label - 3. Classifies the flow using QinQ label and apply Qos metering - a. 1st stage Qos metering is performed with flow ID using trTCM algorithm - b. 2nd stage Qos metering is performed with flow ID and traffic class using - trTCM algorithm - c. traffic class maps to DSCP field in the packet. - 4. Routes the packet based on the routing rules - 5. Appends two MPLS labels in each outgoing packet. +Edge router processes two different types of traffic through pipelines: + +I) Downstream (Core-to-Customer) + + 1. Receives TCP traffic from core + 2. Routes the packet based on the routing rules + 3. Performs traffic scheduling based on the traffic profile + + a. Qos scheduling is performed using token bucket algorithm. + SVLAN, CVLAN, DSCP fields are used to determine transmission priority. + 4. Appends QinQ label in each outgoing packet. + +II) Upstream (Customer-to-Core) + + 1. Receives QinQ labelled TCP packets from Customer + 2. Removes the QinQ label + 3. Classifies the flow using QinQ label and apply Qos metering + + a. 1st stage Qos metering is performed with flow ID using trTCM algorithm + b. 2nd stage Qos metering is performed with flow ID and traffic class using + trTCM algorithm + c. traffic class maps to DSCP field in the packet. + 4. Routes the packet based on the routing rules + 5. Appends two MPLS labels in each outgoing packet. Master Component ^^^^^^^^^^^^^^^^ @@ -635,7 +645,8 @@ Master Component The Master component is part of all the IP Pipeline applications. This component does not process any packets and should configure with Core0, to save cores for other components which processes traffic. The component -is responsible for +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. @@ -656,7 +667,7 @@ To run the VNF, execute the following: Prox - Packet pROcessing eXecution engine -========================================== +========================================= Introduction ------------ diff --git a/docs/testing/developer/requirements/03-Requirements.rst b/docs/testing/developer/requirements/03-Requirements.rst index 25798606..97b1813f 100644 --- a/docs/testing/developer/requirements/03-Requirements.rst +++ b/docs/testing/developer/requirements/03-Requirements.rst @@ -13,7 +13,7 @@ Requirements .. _SampleVNF: https://wiki.opnfv.org/samplevnf .. _Technical_Briefs: https://wiki.opnfv.org/display/SAM/Technical+Briefs+of+VNFs -Supported Test setup: +Supported Test setup -------------------- The device under test (DUT) consists of a system following diff --git a/docs/testing/user/userguide/01-introduction.rst b/docs/testing/user/userguide/01-introduction.rst old mode 100755 new mode 100644 diff --git a/docs/testing/user/userguide/01-prox_documentation.rst b/docs/testing/user/userguide/01-prox_documentation.rst index 0fbee344..12c740da 100644 --- a/docs/testing/user/userguide/01-prox_documentation.rst +++ b/docs/testing/user/userguide/01-prox_documentation.rst @@ -1,4 +1,4 @@ Testing with PROX ================= -The PROX documentation can be found in `Prox - Packet pROcessing eXecution engine `_ -How to use PROX with the rapid pyton scripts can be found in `Rapid scripting `_ +The PROX documentation can be found in `Prox - Packet pROcessing eXecution engine `_ +How to use PROX with the rapid pyton scripts can be found in `Rapid scripting `_ diff --git a/docs/testing/user/userguide/03-architecture.rst b/docs/testing/user/userguide/03-architecture.rst old mode 100755 new mode 100644 index 08e1b2f2..bdc51d3f --- a/docs/testing/user/userguide/03-architecture.rst +++ b/docs/testing/user/userguide/03-architecture.rst @@ -37,8 +37,8 @@ validating the sample VNFs through OPEN SOURCE VNF approximations and test tools The VNFs belongs to this project are never meant for field deployment. All the VNF source code part of this project requires Apache License Version 2.0. -Supported deployment: ----------------------- +Supported deployment +-------------------- * Bare-Metal - All VNFs can run on a Bare-Metal DUT * Standalone Virtualization(SV): All VNFs can run on SV like VPP as switch, ovs, ovs-dpdk, srioc @@ -47,7 +47,6 @@ Supported deployment: VNF supported ------------- - Carrier Grade Network Address Translation (CG-NAT) VNF - :: The Carrier Grade Network Address and port Translation (vCG-NAPT) is a VNF approximation extending the life of the service providers IPv4 network infrastructure and mitigate IPv4 address exhaustion by using address and @@ -55,23 +54,19 @@ VNF supported It also supports the connectivity between the IPv6 access network to IPv4 data network using the IPv6 to IPv4 address translation and vice versa. - Firewall (vFW) VNF - :: The Virtual Firewall (vFW) is a VNF approximation serving as a state full L3/L4 packet filter with connection tracking enabled for TCP, UDP and ICMP. The VNF could be a part of Network Services (industry use-cases) deployed to secure the enterprise network from un-trusted network. - Access Control List (vACL) VNF - :: The vACL vNF is implemented as a DPDK application using VNF Infrastructure Library (VIL). The VIL implements common VNF internal, optimized for Intel Architecture functions like load balancing between cores, IPv4/IPv6 stack features, and interface to NFV infrastructure like OVS or SRIOV. - UDP_Replay - :: The UDP Replay is implemented as a DPDK application using VNF Infrastructure Library (VIL). Performs as a refelector of all the traffic on given port. - Prox - Packet pROcessing eXecution engine. - :: Packet pROcessing eXecution Engine (PROX) which is a DPDK application. PROX can do operations on packets in a highly configurable manner. The PROX application is also displaying performance statistics that can @@ -142,14 +137,15 @@ The following features were verified by SampleVNF test cases: Test Framework -------------- -.. _Yardstick_NSB: http://artifacts.opnfv.org/yardstick/docs/testing_user_userguide/index.html#document-13-nsb-overview +.. _Yardstick_NSB: http://artifacts.opnfv.org/yardstick/docs/testing_user_userguide/index.html#document-11-nsb-overview +.. _ETSI GS NFV-TST 001: https://portal.etsi.org/webapp/workprogram/Report_WorkItem.asp?WKI_ID=46009 SampleVNF Test Infrastructure (NSB (Yardstick_NSB_)) in yardstick helps to facilitate consistent/repeatable methodologies for characterizing & validating the sample VNFs (:term:`VNF`) through OPEN SOURCE VNF approximations. -Network Service Benchmarking in yardstick framework follows ETSI GS NFV-TST001_ +Network Service Benchmarking in yardstick framework follows `ETSI GS NFV-TST 001`_ to verify/characterize both :term:`NFVI` & :term:`VNF` For more inforamtion refer, Yardstick_NSB_ diff --git a/docs/testing/user/userguide/03-installation.rst b/docs/testing/user/userguide/03-installation.rst index 8fb89744..4407b276 100644 --- a/docs/testing/user/userguide/03-installation.rst +++ b/docs/testing/user/userguide/03-installation.rst @@ -30,15 +30,17 @@ Prerequisites ------------- Supported Test setup -^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^ The device under test (DUT) is an NFVI instance on which we can deploy PROX instances. -A PROX instance is a machine that +A PROX instance is a machine that: + * has a management interface that can be reached from the test container * has one or more data plane interfaces on a dataplane network. * can be a container, a VM or a bare metal machine. We just need to be able to ssh into the PROX machine from the test container. * is optimized for data plane traffic. * will measure the throughput that is offered through its dataplane interface(s) + There are no requirements on the NFVI instance itself. Of course, the measured throughput will depend heavily on the NFVI characteristics. In this release, we are supporting an automated deployment of the PROX instance on an NFVI that diff --git a/docs/testing/user/userguide/04-running_the_test.rst b/docs/testing/user/userguide/04-running_the_test.rst index 5ffa58ca..3d3a1e6c 100644 --- a/docs/testing/user/userguide/04-running_the_test.rst +++ b/docs/testing/user/userguide/04-running_the_test.rst @@ -7,7 +7,7 @@ Running the test ================ .. _NFV-TST009: https://docbox.etsi.org/ISG/NFV/open/Publications_pdf/Specs-Reports/NFV-TST%20009v3.2.1%20-%20GS%20-%20NFVI_Benchmarks.pdf -.. _TST009_Throughput_64B_64F.test: https://github.com/opnfv/samplevnf/blob/master/VNFs/DPPD-PROX/helper-scripts/rapid/TST009_Throughput_64B_64F.test +.. _TST009_Throughput_64B_64F.test: https://github.com/opnfv/samplevnf/blob/master/VNFs/DPPD-PROX/helper-scripts/rapid/tests/TST009_Throughput_64B_64F.test .. _rapid_location: https://github.com/opnfv/samplevnf/blob/master/VNFs/DPPD-PROX/helper-scripts/rapid/ Overview @@ -124,6 +124,7 @@ not something to start with. gencores = [1] latcores = [3] #bucket_size_exp = 12 + testy ^^^^^ In the testy sections, where y denotes the index of the test, the test that will diff --git a/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst b/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst index 7ba25fe1..28da0ebd 100644 --- a/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst +++ b/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst @@ -17,6 +17,7 @@ The device under test (DUT) consists of a system following; * Specific Intel Network Interface Cards (NICs) * BIOS settings noting those that updated from the basic settings * DPDK build configuration settings, and commands used for tests + Connected to the DUT is an IXIA* or Software Traffic generator like pktgen or TRex, simulation platform to generate packet traffic to the DUT ports and determine the throughput/latency at the tester side. @@ -103,17 +104,16 @@ The connectivity could be (TG_2(UDP_Replay) reflects all the traffic on the given port) * Bare-Metal - Refer: http://fast.dpdk.org/doc/pdf-guides/ to setup the DUT for VNF to run + Refer: http://fast.dpdk.org/doc/pdf-guides/ to setup the DUT for VNF to run * Standalone Virtualization - PHY-VM-PHY + * SRIOV - Refer below link to setup sriov - https://software.intel.com/en-us/articles/using-sr-iov-to-share-an-ethernet-port-among-multiple-vms + https://software.intel.com/en-us/articles/using-sr-iov-to-share-an-ethernet-port-among-multiple-vms * OVS_DPDK - Refer below link to setup ovs-dpdk - http://docs.openvswitch.org/en/latest/intro/install/general/ - http://docs.openvswitch.org/en/latest/intro/install/dpdk/ + http://docs.openvswitch.org/en/latest/intro/install/general/ + http://docs.openvswitch.org/en/latest/intro/install/dpdk/ * Openstack Use any OPNFV installer to deploy the openstack. @@ -132,19 +132,21 @@ Step 0: Preparing hardware connection Step 1: Setting up Traffic generator (TRex) TRex Software preparations - ************************** * Install the OS (Bare metal Linux, not VM!) * Obtain the latest TRex package: wget https://trex-tgn.cisco.com/trex/release/latest * Untar the package: tar -xzf latest * Change dir to unzipped TRex * Create config file using command: sudo python dpdk_setup_ports.py -i + In case of Ubuntu 16 need python3 + See paragraph config creation for detailed step-by-step + (Refer: https://trex-tgn.cisco.com/trex/doc/trex_stateless_bench.html) Build SampleVNFs ------------------ +---------------- Step 2: Procedure to build SampleVNFs @@ -487,7 +489,7 @@ step 4: Run Test using traffic geneator UDP_Replay - How to run ----------------------------------------- +----------------------- Step 3: Bind the datapath ports to DPDK @@ -532,7 +534,7 @@ step 4: Run Test using traffic geneator For more details refer: https://trex-tgn.cisco.com/trex/doc/trex_stateless_bench.html PROX - How to run ------------------- +----------------- Description ^^^^^^^^^^^ @@ -654,7 +656,7 @@ PROX COMMANDS AND SCREENS +----------------------------------------------+---------------------------------------------------------------------------+----------------------------+ | version | Show version | | +----------------------------------------------+---------------------------------------------------------------------------+----------------------------+ - | port_stats | Print rate for no_mbufs, ierrors, rx_bytes, tx_bytes, rx_pkts, | | + | port_stats | Print rate for no_mbufs, ierrors, rx_bytes, tx_bytes, rx_pkts, | | | | tx_pkts and totals for RX, TX, no_mbufs ierrors for port | | +----------------------------------------------+---------------------------------------------------------------------------+----------------------------+ @@ -941,7 +943,7 @@ PROX Compiation installation * cd samplevnf * export RTE_SDK=`pwd`/dpdk * export RTE_TARGET=x86_64-native-linuxapp-gcc -* git clone http://dpdk.org/git/dpdk +* git clone git://dpdk.org/dpdk * cd dpdk * git checkout v17.05 * make install T=$RTE_TARGET diff --git a/docs/testing/user/userguide/06-How_to_use_REST_api.rst b/docs/testing/user/userguide/06-How_to_use_REST_api.rst index b8c0cbea..ba768d78 100644 --- a/docs/testing/user/userguide/06-How_to_use_REST_api.rst +++ b/docs/testing/user/userguide/06-How_to_use_REST_api.rst @@ -3,12 +3,12 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) opnfv, national center of scientific research "demokritos" and others. -======================================================== +======== REST API -======================================================== +======== Introduction ---------------- +------------ As the internet industry progresses creating REST API becomes more concrete with emerging best Practices. RESTful web services don’t follow a prescribed standard except fpr the protocol that is used which is HTTP, its important @@ -26,7 +26,7 @@ Here are important points to be considered: always same no matter how many times these operations are invoked. * PUT and POST operation are nearly same with the difference lying only in the result where PUT operation is idempotent and POST - operation can cause different result. + operation can cause different result. REST API in SampleVNF @@ -45,7 +45,7 @@ REST api on VNF’s will help adapting with the new automation techniques being adapted in yardstick. Web server integration with VNF’s ----------------------------------- +--------------------------------- In order to implement REST api’s in VNF one of the first task is to identify a simple web server that needs to be integrated with VNF’s. @@ -150,7 +150,7 @@ API Usage --------- Run time Usage -^^^^^^^^^^^^^^ +============== An application(say vFW) with REST API support is run as follows with just PORT MASK as input. The following environment variables @@ -182,6 +182,7 @@ samplevnf directory). 2. Check the Link IP's using the REST API (vCGNAPT/vACL/vFW) :: + e.g curl /vnf/config/link This would indicate the number of links enabled. You should enable all the links @@ -194,6 +195,7 @@ samplevnf directory). 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":"","depth":"24"}' http:///vnf/config/link/0 curl -X POST -H "Content-Type:application/json" -d '{"ipv4":"IP to be configured","depth":"24"}' @@ -207,6 +209,7 @@ samplevnf directory). 4. Adding arp entries we can use this method (vCGNAPT/vACL/vFW) :: + /vnf/config/arp e.g @@ -220,15 +223,17 @@ samplevnf directory). 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 + "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 @@ -239,12 +244,14 @@ samplevnf directory). 6. The following REST api's for runtime configuring through a script (vCGNAPT Only) :: + /vnf/config/rules/clear /vnf/config/nat /vnf/config/nat/load 7. For debug purpose following REST API's could be used as described above.(vCGNAPT/vACL/vFW) :: + /vnf/dbg e.g curl http://10.223.166.240/vnf/config/dbg @@ -258,10 +265,12 @@ samplevnf directory). 8. For stats we can use the following method (vCGNAPT/vACL/vFW) :: + /vnf/stats e.g curl /vnf/stats 9. For quittiong the application (vCGNAPT/vACL/vFW) :: + /vnf/quit e.g curl /vnf/quit diff --git a/docs/testing/user/userguide/07-Config_files.rst b/docs/testing/user/userguide/07-Config_files.rst index d5564e8d..f96462e1 100644 --- a/docs/testing/user/userguide/07-Config_files.rst +++ b/docs/testing/user/userguide/07-Config_files.rst @@ -380,7 +380,7 @@ This configuration doesn't require LOADB and TXRX pipelines vACL Config files ----------------- +----------------- The reference configuration files explained here are for Software and Hardware loadbalancing with IPv4 traffic type and single port pair. diff --git a/docs/testing/user/userguide/index.rst b/docs/testing/user/userguide/index.rst index 64b01b88..5cc2c5e1 100644 --- a/docs/testing/user/userguide/index.rst +++ b/docs/testing/user/userguide/index.rst @@ -10,7 +10,6 @@ SampleVNF User Guide .. toctree:: :maxdepth: 4 - :numbered: 01-introduction.rst 02-methodology.rst diff --git a/docs/testing/user/userguide/references.rst b/docs/testing/user/userguide/references.rst index 30f6e604..f00a872c 100644 --- a/docs/testing/user/userguide/references.rst +++ b/docs/testing/user/userguide/references.rst @@ -11,8 +11,8 @@ References OPNFV ===== -* Yardstick wiki: https://wiki.opnfv.org/yardstick -* SampleVNF wiki: https://wiki.opnfv.org/samplevnf +* Yardstick wiki: https://wiki-old.opnfv.org/display/yardstick +* SampleVNF wiki: https://wiki-old.opnfv.org/display/SAM References used in Test Cases ============================= @@ -22,7 +22,7 @@ References used in Test Cases * DPDK: http://dpdk.org * DPDK supported NICs: http://dpdk.org/doc/nics * fdisk: http://www.tldp.org/HOWTO/Partition/fdisk_partitioning.html -* fio: http://www.bluestop.org/fio/HOWTO.txt +* fio: https://github.com/axboe/fio * free: http://manpages.ubuntu.com/manpages/trusty/en/man1/free.1.html * iperf3: https://iperf.fr/ * Lmbench man-pages: http://manpages.ubuntu.com/manpages/trusty/lat_mem_rd.8.html -- cgit 1.2.3-korg