Docs: Review and update the docs for E-release
[samplevnf.git] / docs / testing / user / userguide / 03-architecture.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International
2 .. License.
3 .. http://creativecommons.org/licenses/by/4.0
4 .. (c) OPNFV, Intel Corporation and others.
5
6 ============
7 Architecture
8 ============
9
10 Abstract
11 ========
12 This chapter describes the samplevnf  software architecture.
13 we will introduce it VNFs. More technical details will be introduced in this chapter.
14
15 Overview
16 ========
17
18 Architecture overview
19 ---------------------
20 This project provides a placeholder for various sample VNF (Virtual Network Function)
21 development which includes example reference architecture and optimization methods
22 related to VNF/Network service for high performance VNFs.
23
24 The sample VNFs are Open Source approximations* of Telco grade VNF’s using
25 optimized VNF + NFVi Infrastructure libraries, with Performance Characterization
26 of Sample† Traffic Flows.
27
28 ::
29
30  * Not a commercial product. Encourage the community to contribute and close the feature gaps.
31  † No Vendor/Proprietary Workloads
32
33 It helps to facilitate deterministic & repeatable bench-marking on Industry
34 standard high volume Servers. It augments well with a Test infrastructure to
35 help facilitate consistent/repeatable methodologies for characterizing &
36 validating the sample VNFs through OPEN SOURCE VNF approximations and test tools.
37 The VNFs belongs to this project are never meant for field deployment.
38 All the VNF source code part of this project requires Apache License Version 2.0.
39
40 Supported deployment:
41 ----------------------
42 * Bare-Metal - All VNFs can run on a Bare-Metal DUT
43 * Standalone Virtualization(SV): All VNFs can run on SV like VPP as switch, ovs,
44   ovs-dpdk, srioc
45 * Openstack: Latest Openstack supported
46
47 VNF supported
48 -------------
49  - Carrier Grade Network Address Translation (CG-NAT) VNF
50    ::
51       The Carrier Grade Network Address and port Translation (vCG-NAPT) is a
52       VNF approximation extending the life of the service providers IPv4 network
53       infrastructure and mitigate IPv4 address exhaustion by using address and
54       port translation in large scale. It processes the traffic in both the directions.
55       It also supports the connectivity between the IPv6 access network to
56       IPv4 data network using the IPv6 to IPv4 address translation and vice versa.
57  - Firewall (vFW) VNF
58    ::
59       The Virtual Firewall (vFW) is a VNF approximation serving as a state full
60       L3/L4 packet filter with connection tracking enabled for TCP, UDP and ICMP.
61       The VNF could be a part of Network Services (industry use-cases) deployed
62       to secure the enterprise network from un-trusted network.
63  - Access Control List (vACL) VNF
64    ::
65       The vACL vNF is implemented as a DPDK application using VNF Infrastructure
66       Library (VIL). The VIL implements common VNF internal, optimized for
67       Intel Architecture functions like load balancing between cores, IPv4/IPv6
68       stack features, and interface to NFV infrastructure like OVS or SRIOV.
69  - UDP_Replay
70    ::
71       The UDP Replay is implemented as a DPDK application using VNF Infrastructure
72       Library (VIL). Performs as a refelector of all the traffic on given port.
73  - Prox - Packet pROcessing eXecution engine.
74    ::
75       Packet pROcessing eXecution Engine (PROX) which is a DPDK application.
76       PROX can do operations on packets in a highly configurable manner.
77       The PROX application is also displaying performance statistics that can
78       be used for performance investigations.
79       Intel® DPPD - PROX is an application built on top of DPDK which allows
80       creating software architectures, such as the one depicted below, through
81       small and readable configuration files.
82
83 Test Framework
84 --------------
85
86 .. _Yardstick_NSB: http://artifacts.opnfv.org/yardstick/docs/testing_user_userguide/index.html#document-13-nsb-overview
87
88 SampleVNF Test Infrastructure (NSB (Yardstick_NSB_)) in yardstick helps to facilitate
89 consistent/repeatable methodologies for characterizing & validating the
90 sample VNFs (:term:`VNF`) through OPEN SOURCE VNF approximations.
91
92
93 Network Service Benchmarking in yardstick framework follows ETSI GS NFV-TST001_
94 to verify/characterize both :term:`NFVI` & :term:`VNF`
95
96 For more inforamtion refer, Yardstick_NSB_
97
98 SampleVNF Directory structure
99 =============================
100
101 **samplevnf/** - SampleVNF main directory.
102
103 *common/* - Common re-useable code like arp, nd, packet fwd etc
104
105 *docs/* - All documentation is stored here, such as configuration guides,
106           user guides and SampleVNF descriptions.
107
108 *tools/* - Currently contains tools to build image for VMs which are deployed
109            by Heat. Currently contains helper scripts like install, setup env
110
111 *VNFs/* - all VNF source code directory.
112
113 *VNF_Catalogue/* - Collection of all  Open Source VNFs