docs: updates and move traffic gens to separate doc
[vswitchperf.git] / docs / requirements / ietf_draft / draft-vsperf-bmwg-vswitch-opnfv-01.xml
1 <?xml version="1.0" encoding="US-ASCII"?>
2 <!DOCTYPE rfc SYSTEM "rfc2629.dtd">
3 <?rfc toc="yes"?>
4 <?rfc tocompact="yes"?>
5 <?rfc tocdepth="3"?>
6 <?rfc tocindent="yes"?>
7 <?rfc symrefs="yes"?>
8 <?rfc sortrefs="yes"?>
9 <?rfc comments="yes"?>
10 <?rfc inline="yes"?>
11 <?rfc compact="yes"?>
12 <?rfc subcompact="no"?>
13 <rfc category="info" docName="draft-vsperf-bmwg-vswitch-opnfv-01"
14      ipr="trust200902">
15   <front>
16     <title abbrev="Benchmarking vSwitches">Benchmarking Virtual Switches in
17     OPNFV</title>
18
19     <author fullname="Maryam Tahhan" initials="M." surname="Tahhan">
20       <organization>Intel</organization>
21
22       <address>
23         <postal>
24           <street/>
25
26           <city/>
27
28           <region/>
29
30           <code/>
31
32           <country/>
33         </postal>
34
35         <phone/>
36
37         <facsimile/>
38
39         <email>maryam.tahhan@intel.com</email>
40
41         <uri/>
42       </address>
43     </author>
44
45     <author fullname="Billy O'Mahony" initials="B." surname="O'Mahony">
46       <organization>Intel</organization>
47
48       <address>
49         <postal>
50           <street/>
51
52           <city/>
53
54           <region/>
55
56           <code/>
57
58           <country/>
59         </postal>
60
61         <phone/>
62
63         <facsimile/>
64
65         <email>billy.o.mahony@intel.com</email>
66
67         <uri/>
68       </address>
69     </author>
70
71     <author fullname="Al Morton" initials="A." surname="Morton">
72       <organization>AT&amp;T Labs</organization>
73
74       <address>
75         <postal>
76           <street>200 Laurel Avenue South</street>
77
78           <city>Middletown,</city>
79
80           <region>NJ</region>
81
82           <code>07748</code>
83
84           <country>USA</country>
85         </postal>
86
87         <phone>+1 732 420 1571</phone>
88
89         <facsimile>+1 732 368 1192</facsimile>
90
91         <email>acmorton@att.com</email>
92
93         <uri>http://home.comcast.net/~acmacm/</uri>
94       </address>
95     </author>
96
97     <date day="14" month="October" year="2015"/>
98
99     <abstract>
100       <t>This memo describes the progress of the Open Platform for NFV (OPNFV)
101       project on virtual switch performance "VSWITCHPERF". This project
102       intends to build on the current and completed work of the Benchmarking
103       Methodology Working Group in IETF, by referencing existing literature.
104       The Benchmarking Methodology Working Group has traditionally conducted
105       laboratory characterization of dedicated physical implementations of
106       internetworking functions. Therefore, this memo begins to describe the
107       additional considerations when virtual switches are implemented in
108       general-purpose hardware. The expanded tests and benchmarks are also
109       influenced by the OPNFV mission to support virtualization of the "telco"
110       infrastructure.</t>
111     </abstract>
112
113     <note title="Requirements Language">
114       <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
115       "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
116       document are to be interpreted as described in <xref
117       target="RFC2119">RFC 2119</xref>.</t>
118
119       <t/>
120     </note>
121   </front>
122
123   <middle>
124     <section title="Introduction">
125       <t>Benchmarking Methodology Working Group (BMWG) has traditionally
126       conducted laboratory characterization of dedicated physical
127       implementations of internetworking functions. The Black-box Benchmarks
128       of Throughput, Latency, Forwarding Rates and others have served our
129       industry for many years. Now, Network Function Virtualization (NFV) has
130       the goal to transform how internetwork functions are implemented, and
131       therefore has garnered much attention.</t>
132
133       <t>This memo describes the progress of the Open Platform for NFV (OPNFV)
134       project on virtual switch performance characterization, "VSWITCHPERF".
135       This project intends to build on the current and completed work of the
136       Benchmarking Methodology Working Group in IETF, by referencing existing
137       literature. For example, currently the most often referenced RFC is
138       <xref target="RFC2544"/> (which depends on <xref target="RFC1242"/>) and
139       foundation of the benchmarking work in OPNFV is common and strong.</t>
140
141       <t>See
142       https://wiki.opnfv.org/characterize_vswitch_performance_for_telco_nfv_use_cases
143       for more background, and the OPNFV website for general information:
144       https://www.opnfv.org/</t>
145
146       <t>The authors note that OPNFV distinguishes itself from other open
147       source compute and networking projects through its emphasis on existing
148       "telco" services as opposed to cloud-computing. There are many ways in
149       which telco requirements have different emphasis on performance
150       dimensions when compared to cloud computing: support for and transfer of
151       isochronous media streams is one example.</t>
152
153       <t>Note also that the move to NFV Infrastructure has resulted in many
154       new benchmarking initiatives across the industry, and the authors are
155       currently doing their best to maintain alignment with many other
156       projects, and this Internet Draft is evidence of the efforts.</t>
157     </section>
158
159     <section title="Scope">
160       <t>The primary purpose and scope of the memo is to inform BMWG of
161       work-in-progress that builds on the body of extensive literature and
162       experience. Additionally, once the initial information conveyed here is
163       received, this memo may be expanded to include more detail and
164       commentary from both BMWG and OPNFV communities, under BMWG's chartered
165       work to characterize the NFV Infrastructure (a virtual switch is an
166       important aspect of that infrastructure).</t>
167     </section>
168
169     <section title="Benchmarking Considerations">
170       <t>This section highlights some specific considerations (from <xref
171       target="I-D.ietf-bmwg-virtual-net"/>)related to Benchmarks for virtual
172       switches. The OPNFV project is sharing its present view on these areas,
173       as they develop their specifications in the Level Test Design (LTD)
174       document.</t>
175
176       <section title="Comparison with Physical Network Functions">
177         <t>To compare the performance of virtual designs and implementations
178         with their physical counterparts, identical benchmarks are needed.
179         BMWG has developed specifications for many network functions this memo
180         re-uses existing benchmarks through references, and expands them
181         during development of new methods. A key configuration aspect is the
182         number of parallel cores required to achieve comparable performance
183         with a given physical device, or whether some limit of scale was
184         reached before the cores could achieve the comparable level.</t>
185
186         <t>It's unlikely that the virtual switch will be the only application
187         running on the SUT, so CPU utilization, Cache utilization, and Memory
188         footprint should also be recorded for the virtual implementations of
189         internetworking functions.</t>
190       </section>
191
192       <section title="Continued Emphasis on Black-Box Benchmarks">
193         <t>External observations remain essential as the basis for Benchmarks.
194         Internal observations with fixed specification and interpretation will
195         be provided in parallel to assist the development of operations
196         procedures when the technology is deployed.</t>
197       </section>
198
199       <section title="New Configuration Parameters">
200         <t>A key consideration when conducting any sort of benchmark is trying
201         to ensure the consistency and repeatability of test results. When
202         benchmarking the performance of a vSwitch there are many factors that
203         can affect the consistency of results, one key factor is matching the
204         various hardware and software details of the SUT. This section lists
205         some of the many new parameters which this project believes are
206         critical to report in order to achieve repeatability.</t>
207
208         <t>Hardware details including:</t>
209
210         <t><list style="symbols">
211             <t>Platform details</t>
212
213             <t>Processor details</t>
214
215             <t>Memory information (type and size)</t>
216
217             <t>Number of enabled cores</t>
218
219             <t>Number of cores used for the test</t>
220
221             <t>Number of physical NICs, as well as their details
222             (manufacturer, versions, type and the PCI slot they are plugged
223             into)</t>
224
225             <t>NIC interrupt configuration</t>
226
227             <t>BIOS version, release date and any configurations that were
228             modified</t>
229
230             <t>CPU microcode level</t>
231
232             <t>Memory DIMM configurations (quad rank performance may not be
233             the same as dual rank) in size, freq and slot locations</t>
234
235             <t>PCI configuration parameters (payload size, early ack
236             option...)</t>
237
238             <t>Power management at all levels (ACPI sleep states, processor
239             package, OS...)</t>
240           </list>Software details including:</t>
241
242         <t><list style="symbols">
243             <t>OS parameters and behavior (text vs graphical no one typing at
244             the console on one system)</t>
245
246             <t>OS version (for host and VNF)</t>
247
248             <t>Kernel version (for host and VNF)</t>
249
250             <t>GRUB boot parameters (for host and VNF)</t>
251
252             <t>Hypervisor details (Type and version)</t>
253
254             <t>Selected vSwitch, version number or commit id used</t>
255
256             <t>vSwitch launch command line if it has been parameterised</t>
257
258             <t>Memory allocation to the vSwitch</t>
259
260             <t>which NUMA node it is using, and how many memory channels</t>
261
262             <t>DPDK or any other SW dependency version number or commit id
263             used</t>
264
265             <t>Memory allocation to a VM - if it's from Hugpages/elsewhere</t>
266
267             <t>VM storage type: snapshot/independent persistent/independent
268             non-persistent</t>
269
270             <t>Number of VMs</t>
271
272             <t>Number of Virtual NICs (vNICs), versions, type and driver</t>
273
274             <t>Number of virtual CPUs and their core affinity on the host</t>
275
276             <t>Number vNIC interrupt configuration</t>
277
278             <t>Thread affinitization for the applications (including the
279             vSwitch itself) on the host</t>
280
281             <t>Details of Resource isolation, such as CPUs designated for
282             Host/Kernel (isolcpu) and CPUs designated for specific processes
283             (taskset). - Test duration. - Number of flows.</t>
284           </list></t>
285
286         <t>Test Traffic Information:<list style="symbols">
287             <t>Traffic type - UDP, TCP, IMIX / Other</t>
288
289             <t>Packet Sizes</t>
290
291             <t>Deployment Scenario</t>
292           </list></t>
293
294         <t/>
295       </section>
296
297       <section title="Flow classification">
298         <t>Virtual switches group packets into flows by processing and
299         matching particular packet or frame header information, or by matching
300         packets based on the input ports. Thus a flow can be thought of a
301         sequence of packets that have the same set of header field values or
302         have arrived on the same port. Performance results can vary based on
303         the parameters the vSwitch uses to match for a flow. The recommended
304         flow classification parameters for any vSwitch performance tests are:
305         the input port, the source IP address, the destination IP address and
306         the Ethernet protocol type field. It is essential to increase the flow
307         timeout time on a vSwitch before conducting any performance tests that
308         do not measure the flow setup time. Normally the first packet of a
309         particular stream will install the flow in the virtual switch which
310         adds an additional latency, subsequent packets of the same flow are
311         not subject to this latency if the flow is already installed on the
312         vSwitch.</t>
313       </section>
314
315       <section title="Benchmarks using Baselines with Resource Isolation">
316         <t>This outline describes measurement of baseline with isolated
317         resources at a high level, which is the intended approach at this
318         time.</t>
319
320         <t><list style="numbers">
321             <t>Baselines: <list style="symbols">
322                 <t>Optional: Benchmark platform forwarding capability without
323                 a vswitch or VNF for at least 72 hours (serves as a means of
324                 platform validation and a means to obtain the base performance
325                 for the platform in terms of its maximum forwarding rate and
326                 latency). <figure>
327                     <preamble>Benchmark platform forwarding
328                     capability</preamble>
329
330                     <artwork align="right"><![CDATA[                                                      __
331  +--------------------------------------------------+   |
332  |   +------------------------------------------+   |   |
333  |   |                                          |   |   |
334  |   |          Simple Forwarding App           |   |  Host
335  |   |                                          |   |   |
336  |   +------------------------------------------+   |   |
337  |   |                 NIC                      |   |   |
338  +---+------------------------------------------+---+ __|
339             ^                           :
340             |                           |
341             :                           v
342  +--------------------------------------------------+
343  |                                                  |
344  |                traffic generator                 |
345  |                                                  |
346  +--------------------------------------------------+]]></artwork>
347
348                     <postamble/>
349                   </figure></t>
350
351                 <t>Benchmark VNF forwarding capability with direct
352                 connectivity (vSwitch bypass, e.g., SR/IOV) for at least 72
353                 hours (serves as a means of VNF validation and a means to
354                 obtain the base performance for the VNF in terms of its
355                 maximum forwarding rate and latency). The metrics gathered
356                 from this test will serve as a key comparison point for
357                 vSwitch bypass technologies performance and vSwitch
358                 performance. <figure align="right">
359                     <preamble>Benchmark VNF forwarding capability</preamble>
360
361                     <artwork><![CDATA[                                                      __
362  +--------------------------------------------------+   |
363  |   +------------------------------------------+   |   |
364  |   |                                          |   |   |
365  |   |                 VNF                      |   |   |
366  |   |                                          |   |   |
367  |   +------------------------------------------+   |   |
368  |   |          Passthrough/SR-IOV              |   |  Host
369  |   +------------------------------------------+   |   |
370  |   |                 NIC                      |   |   |
371  +---+------------------------------------------+---+ __|
372             ^                           :
373             |                           |
374             :                           v
375  +--------------------------------------------------+
376  |                                                  |
377  |                traffic generator                 |
378  |                                                  |
379  +--------------------------------------------------+]]></artwork>
380
381                     <postamble/>
382                   </figure></t>
383
384                 <t>Benchmarking with isolated resources alone, with other
385                 resources (both HW&amp;SW) disabled Example, vSw and VM are
386                 SUT</t>
387
388                 <t>Benchmarking with isolated resources alone, leaving some
389                 resources unused</t>
390
391                 <t>Benchmark with isolated resources and all resources
392                 occupied</t>
393               </list></t>
394
395             <t>Next Steps<list style="symbols">
396                 <t>Limited sharing</t>
397
398                 <t>Production scenarios</t>
399
400                 <t>Stressful scenarios</t>
401               </list></t>
402           </list></t>
403       </section>
404     </section>
405
406     <section title="VSWITCHPERF Specification Summary">
407       <t>The overall specification in preparation is referred to as a Level
408       Test Design (LTD) document, which will contain a suite of performance
409       tests. The base performance tests in the LTD are based on the
410       pre-existing specifications developed by BMWG to test the performance of
411       physical switches. These specifications include:</t>
412
413       <t><list style="symbols">
414           <t><xref target="RFC2544"/> Benchmarking Methodology for Network
415           Interconnect Devices</t>
416
417           <t><xref target="RFC2889"/> Benchmarking Methodology for LAN
418           Switching</t>
419
420           <t><xref target="RFC6201"/> Device Reset Characterization</t>
421
422           <t><xref target="RFC5481"/> Packet Delay Variation Applicability
423           Statement</t>
424         </list></t>
425
426       <t>Some of the above/newer RFCs are being applied in benchmarking for
427       the first time, and represent a development challenge for test equipment
428       developers. Fortunately, many members of the testing system community
429       have engaged on the VSPERF project, including an open source test
430       system.</t>
431
432       <t>In addition to this, the LTD also re-uses the terminology defined
433       by:</t>
434
435       <t><list style="symbols">
436           <t><xref target="RFC2285"/> Benchmarking Terminology for LAN
437           Switching Devices</t>
438
439           <t><xref target="RFC5481"/> Packet Delay Variation Applicability
440           Statement</t>
441         </list></t>
442
443       <t/>
444
445       <t>Specifications to be included in future updates of the LTD
446       include:<list style="symbols">
447           <t><xref target="RFC3918"/> Methodology for IP Multicast
448           Benchmarking</t>
449
450           <t><xref target="RFC4737"/> Packet Reordering Metrics</t>
451         </list></t>
452
453       <t>As one might expect, the most fundamental internetworking
454       characteristics of Throughput and Latency remain important when the
455       switch is virtualized, and these benchmarks figure prominently in the
456       specification.</t>
457
458       <t>When considering characteristics important to "telco" network
459       functions, we must begin to consider additional performance metrics. In
460       this case, the project specifications have referenced metrics from the
461       IETF IP Performance Metrics (IPPM) literature. This means that the <xref
462       target="RFC2544"/> test of Latency is replaced by measurement of a
463       metric derived from IPPM's <xref target="RFC2679"/>, where a set of
464       statistical summaries will be provided (mean, max, min, etc.). Further
465       metrics planned to be benchmarked include packet delay variation as
466       defined by <xref target="RFC5481"/> , reordering, burst behaviour, DUT
467       availability, DUT capacity and packet loss in long term testing at
468       Throughput level, where some low-level of background loss may be present
469       and characterized.</t>
470
471       <t>Tests have been (or will be) designed to collect the metrics
472       below:</t>
473
474       <t><list style="symbols">
475           <t>Throughput Tests to measure the maximum forwarding rate (in
476           frames per second or fps) and bit rate (in Mbps) for a constant load
477           (as defined by RFC1242) without traffic loss.</t>
478
479           <t>Packet and Frame Delay Distribution Tests to measure average, min
480           and max packet and frame delay for constant loads.</t>
481
482           <t>Packet Delay Tests to understand latency distribution for
483           different packet sizes and over an extended test run to uncover
484           outliers.</t>
485
486           <t>Scalability Tests to understand how the virtual switch performs
487           as the number of flows, active ports, complexity of the forwarding
488           logic&rsquo;s configuration&hellip; it has to deal with
489           increases.</t>
490
491           <t>Stream Performance Tests (TCP, UDP) to measure bulk data transfer
492           performance, i.e. how fast systems can send and receive data through
493           the switch.</t>
494
495           <t>Control Path and Datapath Coupling Tests, to understand how
496           closely coupled the datapath and the control path are as well as the
497           effect of this coupling on the performance of the DUT (example:
498           delay of the initial packet of a flow).</t>
499
500           <t>CPU and Memory Consumption Tests to understand the virtual
501           switch&rsquo;s footprint on the system, usually conducted as
502           auxiliary measurements with benchmarks above. They include: CPU
503           utilization, Cache utilization and Memory footprint.</t>
504         </list></t>
505
506       <t>Future/planned test specs include:<list style="symbols">
507           <t>Request/Response Performance Tests (TCP, UDP) which measure the
508           transaction rate through the switch.</t>
509
510           <t>Noisy Neighbour Tests, to understand the effects of resource
511           sharing on the performance of a virtual switch.</t>
512
513           <t>Tests derived from examination of ETSI NFV Draft GS IFA003
514           requirements <xref target="IFA003"/> on characterization of
515           acceleration technologies applied to vswitches.</t>
516         </list>The flexibility of deployment of a virtual switch within a
517       network means that the BMWG IETF existing literature needs to be used to
518       characterize the performance of a switch in various deployment
519       scenarios. The deployment scenarios under consideration include:</t>
520
521       <t><figure>
522           <preamble>Physical port to virtual switch to physical
523           port</preamble>
524
525           <artwork><![CDATA[                                                      __
526  +--------------------------------------------------+   |
527  |              +--------------------+              |   |
528  |              |                    |              |   |
529  |              |                    v              |   |  Host
530  |   +--------------+            +--------------+   |   |
531  |   |   phy port   |  vSwitch   |   phy port   |   |   |
532  +---+--------------+------------+--------------+---+ __|
533             ^                           :
534             |                           |
535             :                           v
536  +--------------------------------------------------+
537  |                                                  |
538  |                traffic generator                 |
539  |                                                  |
540  +--------------------------------------------------+]]></artwork>
541         </figure></t>
542
543       <t><figure>
544           <preamble>Physical port to virtual switch to VNF to virtual switch
545           to physical port</preamble>
546
547           <artwork><![CDATA[                                                      __
548  +---------------------------------------------------+   |
549  |                                                   |   |
550  |   +-------------------------------------------+   |   |
551  |   |                 Application               |   |   |
552  |   +-------------------------------------------+   |   |
553  |       ^                                  :        |   |
554  |       |                                  |        |   |  Guest
555  |       :                                  v        |   |
556  |   +---------------+           +---------------+   |   |
557  |   | logical port 0|           | logical port 1|   |   |
558  +---+---------------+-----------+---------------+---+ __|
559          ^                                  :
560          |                                  |
561          :                                  v         __
562  +---+---------------+----------+---------------+---+   |
563  |   | logical port 0|          | logical port 1|   |   |
564  |   +---------------+          +---------------+   |   |
565  |       ^                                  :       |   |
566  |       |                                  |       |   |  Host
567  |       :                                  v       |   |
568  |   +--------------+            +--------------+   |   |
569  |   |   phy port   |  vSwitch   |   phy port   |   |   |
570  +---+--------------+------------+--------------+---+ __|
571             ^                           :
572             |                           |
573             :                           v
574  +--------------------------------------------------+
575  |                                                  |
576  |                traffic generator                 |
577  |                                                  |
578  +--------------------------------------------------+]]></artwork>
579         </figure><figure>
580           <preamble>Physical port to virtual switch to VNF to virtual switch
581           to VNF to virtual switch to physical port</preamble>
582
583           <artwork><![CDATA[                                                   __
584  +----------------------+  +----------------------+  |
585  |   Guest 1            |  |   Guest 2            |  |
586  |   +---------------+  |  |   +---------------+  |  |
587  |   |  Application  |  |  |   |  Application  |  |  |
588  |   +---------------+  |  |   +---------------+  |  |
589  |       ^       |      |  |       ^       |      |  |
590  |       |       v      |  |       |       v      |  |  Guests
591  |   +---------------+  |  |   +---------------+  |  |
592  |   | logical ports |  |  |   | logical ports |  |  |
593  |   |   0       1   |  |  |   |   0       1   |  |  |
594  +---+---------------+--+  +---+---------------+--+__|
595          ^       :                 ^       :
596          |       |                 |       |
597          :       v                 :       v       _
598  +---+---------------+---------+---------------+--+ |
599  |   |   0       1   |         |   3       4   |  | |
600  |   | logical ports |         | logical ports |  | |
601  |   +---------------+         +---------------+  | |
602  |       ^       |                 ^       |      | |  Host
603  |       |       |-----------------|       v      | |
604  |   +--------------+          +--------------+   | |
605  |   |   phy ports  | vSwitch  |   phy ports  |   | |
606  +---+--------------+----------+--------------+---+_|
607          ^                                 :
608          |                                 |
609          :                                 v
610  +--------------------------------------------------+
611  |                                                  |
612  |                traffic generator                 |
613  |                                                  |
614  +--------------------------------------------------+]]></artwork>
615         </figure><figure>
616           <preamble>Physical port to virtual switch to VNF</preamble>
617
618           <artwork><![CDATA[                                                       __
619  +---------------------------------------------------+   |
620  |                                                   |   |
621  |   +-------------------------------------------+   |   |
622  |   |                 Application               |   |   |
623  |   +-------------------------------------------+   |   |
624  |       ^                                           |   |
625  |       |                                           |   |  Guest
626  |       :                                           |   |
627  |   +---------------+                               |   |
628  |   | logical port 0|                               |   |
629  +---+---------------+-------------------------------+ __|
630          ^
631          |
632          :                                            __
633  +---+---------------+------------------------------+   |
634  |   | logical port 0|                              |   |
635  |   +---------------+                              |   |
636  |       ^                                          |   |
637  |       |                                          |   |  Host
638  |       :                                          |   |
639  |   +--------------+                               |   |
640  |   |   phy port   |  vSwitch                      |   |
641  +---+--------------+------------ -------------- ---+ __|
642             ^
643             |
644             :
645  +--------------------------------------------------+
646  |                                                  |
647  |                traffic generator                 |
648  |                                                  |
649  +--------------------------------------------------+]]></artwork>
650         </figure><figure>
651           <preamble>VNF to virtual switch to physical port</preamble>
652
653           <artwork><![CDATA[                                                       __
654  +---------------------------------------------------+   |
655  |                                                   |   |
656  |   +-------------------------------------------+   |   |
657  |   |                 Application               |   |   |
658  |   +-------------------------------------------+   |   |
659  |                                          :        |   |
660  |                                          |        |   |  Guest
661  |                                          v        |   |
662  |                               +---------------+   |   |
663  |                               | logical port  |   |   |
664  +-------------------------------+---------------+---+ __|
665                                             :
666                                             |
667                                             v         __
668  +------------------------------+---------------+---+   |
669  |                              | logical port  |   |   |
670  |                              +---------------+   |   |
671  |                                          :       |   |
672  |                                          |       |   |  Host
673  |                                          v       |   |
674  |                               +--------------+   |   |
675  |                     vSwitch   |   phy port   |   |   |
676  +-------------------------------+--------------+---+ __|
677                                         :
678                                         |
679                                         v
680  +--------------------------------------------------+
681  |                                                  |
682  |                traffic generator                 |
683  |                                                  |
684  +--------------------------------------------------+]]></artwork>
685         </figure><figure>
686           <preamble>VNF to virtual switch to VNF</preamble>
687
688           <artwork><![CDATA[                                                   __
689  +----------------------+  +----------------------+  |
690  |   Guest 1            |  |   Guest 2            |  |
691  |   +---------------+  |  |   +---------------+  |  |
692  |   |  Application  |  |  |   |  Application  |  |  |
693  |   +---------------+  |  |   +---------------+  |  |
694  |              |       |  |       ^              |  |
695  |              v       |  |       |              |  |  Guests
696  |   +---------------+  |  |   +---------------+  |  |
697  |   | logical ports |  |  |   | logical ports |  |  |
698  |   |           0   |  |  |   |   0           |  |  |
699  +---+---------------+--+  +---+---------------+--+__|
700                  :                 ^
701                  |                 |
702                  v                 :               _
703  +---+---------------+---------+---------------+--+ |
704  |   |           1   |         |   1           |  | |
705  |   | logical ports |         | logical ports |  | |
706  |   +---------------+         +---------------+  | |
707  |               |                 ^              | |  Host
708  |               L-----------------+              | |
709  |                                                | |
710  |                    vSwitch                     | |
711  +------------------------------------------------+_|]]></artwork>
712         </figure></t>
713
714       <t>A set of Deployment Scenario figures is available on the VSPERF Test
715       Methodology Wiki page <xref target="TestTopo"/>. </t>
716     </section>
717
718     <section title="3x3 Matrix Coverage">
719       <t>This section organizes the many existing test specifications into the
720       "3x3" matrix (introduced in <xref target="I-D.ietf-bmwg-virtual-net"/>).
721       Because the LTD specification ID names are quite long, this section is
722       organized into lists for each occupied cell of the matrix (not all are
723       occupied, also the matrix has grown to 3x4 to accommodate scale metrics
724       when displaying the coverage of many metrics/benchmarks).</t>
725
726       <t>The tests listed below assess the activation of paths in the data
727       plane, rather than the control plane.</t>
728
729       <t>A complete list of tests with short summaries is available on the
730       VSPERF "LTD Test Spec Overview" Wiki page <xref target="LTDoverV"/>.</t>
731
732       <section title="Speed of Activation">
733         <t><list style="symbols">
734             <t>Activation.RFC2889.AddressLearningRate</t>
735
736             <t>PacketLatency.InitialPacketProcessingLatency</t>
737           </list></t>
738       </section>
739
740       <section title="Accuracy of Activation section">
741         <t><list style="symbols">
742             <t>CPDP.Coupling.Flow.Addition</t>
743           </list></t>
744       </section>
745
746       <section title="Reliability of Activation">
747         <t><list style="symbols">
748             <t>Throughput.RFC2544.SystemRecoveryTime</t>
749
750             <t>Throughput.RFC2544.ResetTime</t>
751           </list></t>
752       </section>
753
754       <section title="Scale of Activation">
755         <t><list style="symbols">
756             <t>Activation.RFC2889.AddressCachingCapacity</t>
757           </list></t>
758       </section>
759
760       <section title="Speed of Operation">
761         <t><list style="symbols">
762             <t>Throughput.RFC2544.PacketLossRate</t>
763
764             <t>CPU.RFC2544.0PacketLoss</t>
765
766             <t>Throughput.RFC2544.PacketLossRateFrameModification</t>
767
768             <t>Throughput.RFC2544.BackToBackFrames</t>
769
770             <t>Throughput.RFC2889.MaxForwardingRate</t>
771
772             <t>Throughput.RFC2889.ForwardPressure</t>
773
774             <t>Throughput.RFC2889.BroadcastFrameForwarding</t>
775           </list></t>
776       </section>
777
778       <section title="Accuracy of Operation">
779         <t><list style="symbols">
780             <t>Throughput.RFC2889.ErrorFramesFiltering</t>
781
782             <t>Throughput.RFC2544.Profile</t>
783           </list></t>
784       </section>
785
786       <section title="Reliability of Operation">
787         <t><list style="symbols">
788             <t>Throughput.RFC2889.Soak</t>
789
790             <t>Throughput.RFC2889.SoakFrameModification</t>
791
792             <t>PacketDelayVariation.RFC3393.Soak</t>
793           </list></t>
794       </section>
795
796       <section title="Scalability of Operation">
797         <t><list style="symbols">
798             <t>Scalability.RFC2544.0PacketLoss</t>
799
800             <t>MemoryBandwidth.RFC2544.0PacketLoss.Scalability</t>
801           </list></t>
802       </section>
803
804       <section title="Summary">
805         <t><figure>
806             <artwork><![CDATA[|------------------------------------------------------------------------|
807 |               |             |            |               |             |
808 |               |   SPEED     |  ACCURACY  |  RELIABILITY  |    SCALE    |
809 |               |             |            |               |             |
810 |------------------------------------------------------------------------|
811 |               |             |            |               |             |
812 |  Activation   |      X      |     X      |       X       |      X      |
813 |               |             |            |               |             |
814 |------------------------------------------------------------------------|
815 |               |             |            |               |             |
816 |  Operation    |      X      |      X     |       X       |      X      |
817 |               |             |            |               |             |
818 |------------------------------------------------------------------------|
819 |               |             |            |               |             |
820 | De-activation |             |            |               |             |
821 |               |             |            |               |             |
822 |------------------------------------------------------------------------|]]></artwork>
823           </figure></t>
824       </section>
825     </section>
826
827     <section title="Security Considerations">
828       <t>Benchmarking activities as described in this memo are limited to
829       technology characterization of a Device Under Test/System Under Test
830       (DUT/SUT) using controlled stimuli in a laboratory environment, with
831       dedicated address space and the constraints specified in the sections
832       above.</t>
833
834       <t>The benchmarking network topology will be an independent test setup
835       and MUST NOT be connected to devices that may forward the test traffic
836       into a production network, or misroute traffic to the test management
837       network.</t>
838
839       <t>Further, benchmarking is performed on a "black-box" basis, relying
840       solely on measurements observable external to the DUT/SUT.</t>
841
842       <t>Special capabilities SHOULD NOT exist in the DUT/SUT specifically for
843       benchmarking purposes. Any implications for network security arising
844       from the DUT/SUT SHOULD be identical in the lab and in production
845       networks.</t>
846     </section>
847
848     <section anchor="IANA" title="IANA Considerations">
849       <t>No IANA Action is requested at this time.</t>
850     </section>
851
852     <section title="Acknowledgements">
853       <t>The authors acknowledge</t>
854     </section>
855   </middle>
856
857   <back>
858     <references title="Normative References">
859       <?rfc ?>
860
861       <?rfc include="reference.RFC.2119"?>
862
863       <?rfc include="reference.RFC.2330"?>
864
865       <?rfc include='reference.RFC.2544'?>
866
867       <?rfc include="reference.RFC.2679"?>
868
869       <?rfc include='reference.RFC.2680'?>
870
871       <?rfc include='reference.RFC.3393'?>
872
873       <?rfc include='reference.RFC.3432'?>
874
875       <?rfc include='reference.RFC.2681'?>
876
877       <?rfc include='reference.RFC.5905'?>
878
879       <?rfc include='reference.RFC.4689'?>
880
881       <?rfc include='reference.RFC.4737'?>
882
883       <?rfc include='reference.RFC.5357'?>
884
885       <?rfc include='reference.RFC.2889'?>
886
887       <?rfc include='reference.RFC.3918'?>
888
889       <?rfc include='reference.RFC.6201'?>
890
891       <?rfc include='reference.RFC.2285'?>
892
893       <reference anchor="NFV.PER001">
894         <front>
895           <title>Network Function Virtualization: Performance and Portability
896           Best Practices</title>
897
898           <author fullname="ETSI NFV" initials="" surname="">
899             <organization/>
900           </author>
901
902           <date month="June" year="2014"/>
903         </front>
904
905         <seriesInfo name="Group Specification"
906                     value="ETSI GS NFV-PER 001 V1.1.1 (2014-06)"/>
907
908         <format type="PDF"/>
909       </reference>
910     </references>
911
912     <references title="Informative References">
913       <?rfc include='reference.RFC.1242'?>
914
915       <?rfc include='reference.RFC.5481'?>
916
917       <?rfc include='reference.RFC.6049'?>
918
919       <?rfc include='reference.RFC.6248'?>
920
921       <?rfc include='reference.RFC.6390'?>
922
923       <?rfc include='reference.I-D.ietf-bmwg-virtual-net'?>
924
925       <reference anchor="TestTopo">
926         <front>
927           <title>Test Topologies
928           https://wiki.opnfv.org/vsperf/test_methodology</title>
929
930           <author>
931             <organization/>
932           </author>
933
934           <date/>
935         </front>
936       </reference>
937
938       <reference anchor="LTDoverV">
939         <front>
940           <title>LTD Test Spec Overview
941           https://wiki.opnfv.org/wiki/vswitchperf_test_spec_review </title>
942
943           <author>
944             <organization/>
945           </author>
946
947           <date/>
948         </front>
949       </reference>
950
951       <reference anchor="IFA003">
952         <front>
953           <title>https://docbox.etsi.org/ISG/NFV/Open/Drafts/IFA003_Acceleration_-_vSwitch_Spec/</title>
954
955           <author>
956             <organization/>
957           </author>
958
959           <date/>
960         </front>
961       </reference>
962     </references>
963   </back>
964 </rfc>