Skip to content

Commit

Permalink
Fix releng-tox Jenkins job
Browse files Browse the repository at this point in the history
Many reStructuredText issues

Signed-off-by: Patrice Buriez <[email protected]>
Change-Id: I07e6af54d2ea15fa1ab1a08ad3c0b22643e7462e
  • Loading branch information
pburiez committed Dec 16, 2022
1 parent 52af0b5 commit fb2d81d
Show file tree
Hide file tree
Showing 16 changed files with 107 additions and 81 deletions.
3 changes: 3 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
from docs_conf.conf import *
linkcheck_ignore = [
r'https://trex-tgn.cisco.com/',
]
17 changes: 10 additions & 7 deletions docs/release/release-notes/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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

Expand All @@ -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 |
+----------------+---------------------------------------------------------+-------------------+
Expand All @@ -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
------------
Expand All @@ -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 |
Expand Down Expand Up @@ -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
2 changes: 1 addition & 1 deletion docs/release/results/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/testing/developer/design/02-Get_started_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
====================================
Get started as a SampleVNF developer
===================================
====================================

.. _SampleVNF: https://wiki.opnfv.org/samplevnf
.. _Gerrit: https://www.gerritcodereview.com/
Expand Down
77 changes: 44 additions & 33 deletions docs/testing/developer/design/04-SampleVNF_Design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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.

Expand All @@ -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
Expand All @@ -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
Expand All @@ -399,21 +399,25 @@ 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)
-------------------------------------

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
-------------------
Expand All @@ -431,20 +435,20 @@ 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,
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
Expand All @@ -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,
Expand Down Expand Up @@ -607,35 +611,42 @@ 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
^^^^^^^^^^^^^^^^

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.
Expand All @@ -656,7 +667,7 @@ To run the VNF, execute the following:


Prox - Packet pROcessing eXecution engine
==========================================
=========================================

Introduction
------------
Expand Down
2 changes: 1 addition & 1 deletion docs/testing/developer/requirements/03-Requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Empty file modified docs/testing/user/userguide/01-introduction.rst
100755 → 100644
Empty file.
4 changes: 2 additions & 2 deletions docs/testing/user/userguide/01-prox_documentation.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Testing with PROX
=================
The PROX documentation can be found in `Prox - Packet pROcessing eXecution engine <https://wiki.opnfv.org/x/AAa9>`_
How to use PROX with the rapid pyton scripts can be found in `Rapid scripting <https://wiki.opnfv.org/x/OwM-Ag>`_
The PROX documentation can be found in `Prox - Packet pROcessing eXecution engine <https://wiki-old.opnfv.org/x/AAa9>`_
How to use PROX with the rapid pyton scripts can be found in `Rapid scripting <https://wiki-old.opnfv.org/x/OwM-Ag>`_
14 changes: 5 additions & 9 deletions docs/testing/user/userguide/03-architecture.rst
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -47,31 +47,26 @@ 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
port translation in large scale. It processes the traffic in both the directions.
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
Expand Down Expand Up @@ -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_
Expand Down
6 changes: 4 additions & 2 deletions docs/testing/user/userguide/03-installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion docs/testing/user/userguide/04-running_the_test.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
Loading

0 comments on commit fb2d81d

Please sign in to comment.