Internet DRAFT - draft-skommu-bmwg-nvp

draft-skommu-bmwg-nvp



INTERNET-DRAFT







        
        BMWG                                                                 S. Kommu
        Internet-Draft                                                         VMware   
        Intended status: Informational                                        J. Rapp
        Expires: Sep 2019                                                      VMware
                                                                         Mar 11, 2019


                Considerations for Benchmarking Network Virtualization Platforms
                                          draft-skommu-bmwg-nvp-03.txt



        Status of this Memo

             This Internet-Draft is submitted in full conformance with the
             provisions of BCP 78 and BCP 79.

             Internet-Drafts are working documents of the Internet Engineering
             Task Force (IETF), its areas, and its working groups.  Note that
             other groups may also distribute working documents as Internet-
             Drafts.

             Internet-Drafts are draft documents valid for a maximum of six months
             and may be updated, replaced, or obsoleted by other documents at any
             time.  It is inappropriate to use Internet-Drafts as reference
             material or to cite them other than as "work in progress."

             The list of current Internet-Drafts can be accessed at
             http://www.ietf.org/ietf/1id-abstracts.txt

             The list of Internet-Draft Shadow Directories can be accessed at
             http://www.ietf.org/shadow.html

             This Internet-Draft will expire on September 11, 2019.

        Copyright Notice

             Copyright (c) 2019 IETF Trust and the persons identified as the
             document authors. All rights reserved.

             This document is subject to BCP 78 and the IETF Trust's Legal
             Provisions Relating to IETF Documents
             (http://trustee.ietf.org/license-info) in effect on the date of
             publication of this document. Please review these documents
             carefully, as they describe your rights and restrictions with respect
             to this document. Code Components extracted from this document must
             include Simplified BSD License text as described in Section 4.e of
             the Trust Legal Provisions and are provided without warranty as
             described in the Simplified BSD License.



        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 1]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        Abstract

             Current network benchmarking methodologies are focused on physical
             networking components and do not consider the actual application
             layer traffic patterns and hence do not reflect the traffic that
             virtual networking components work with when using network
             virtualization overlays (NVO3).  The purpose of this document is to
             distinguish and highlight benchmarking considerations when testing
             and evaluating virtual networking components in the data center.
             

        Table of Contents

             1. Introduction .................................................. 3
             2. Conventions used in this document ............................. 4
             3. Definitions ................................................... 4
                 3.1. System Under Test (SUT) ................................. 4
                 3.2. Network Virtualization Platform ......................... 5
                 3.3. Microservices ........................................... 6
             4. Scope ......................................................... 7
                     4.1.1. Scenario 1 ........................................ 7
                     4.1.2. Scenario 2 ........................................ 7
                     4.1.3. Learning .......................................... 7
                     4.1.4. Flow Optimization ................................. 7
                     4.1.5. Out of scope ...................................... 7
                 4.2. Virtual Networking for Datacenter Applications .......... 8
                 4.3. Interaction with Physical Devices ....................... 8
             5. NVP Benchmarking Considerations ............................... 9
                 5.1. Learning ............................................... 12
                 5.2. Traffic Flow Optimizations ............................. 12
                     5.2.1. Fast Path ........................................ 12
                     5.2.2. Dedicated cores / Co-processors .................. 12
                     5.2.3. Prioritizing and de-prioritizing active flows .... 13
                 5.3. Server Architecture Considerations ..................... 13
                     5.3.1. NVE Component considerations ..................... 13
                     5.3.2. Frame format/sizes within the Hypervisor ......... 17
                     5.3.3. Baseline testing with Logical Switch ............. 17
                     5.3.4. Repeatability .................................... 17
                     5.3.5. Tunnel encap/decap outside the Hypervisor ........ 17
                     5.3.6. SUT Hypervisor Profile ........................... 18
                 5.4. Benchmarking Tools Considerations ...................... 20
                     5.4.1. Considerations for NVE ........................... 20
                     5.4.2. Considerations for Split-NVE ..................... 20
             6. Control Plane Scale Considerations ........................... 20
                     6.1.1. VM Events ........................................ 21
                     6.1.2. Scale ............................................ 22
                     6.1.3. Control Plane Performance at Scale ............... 22


        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 2]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             7. Security Considerations ...................................... 23
             8. IANA Considerations .......................................... 23
             9. Conclusions .................................................. 23
             10. References .................................................. 24
                 10.1. Normative References .................................. 24
                 10.2. Informative References ................................ 24
             11. Acknowledgments ............................................. 24
             Appendix A. Partial List of Parameters to Document .............. 25
                 A.1. CPU .................................................... 25
                 A.2. Memory ................................................. 25
                 A.3. NIC .................................................... 26
                 A.4. Hypervisor ............................................. 26
                 A.5. Guest VM ............................................... 27
                 A.6. Overlay Network Physical Fabric ........................ 27
                 A.7. Gateway Network Physical Fabric ........................ 28
                 A.8. Metrics ................................................ 28

        1. Introduction

             Datacenter virtualization that includes both compute and network
             virtualization is growing rapidly as the industry continues to look
             for ways to improve productivity, flexibility and at the same time
             cut costs.  Network virtualization is comparatively new and expected
             to grow tremendously similar to compute virtualization. There are
             multiple vendors and solutions out in the market.  Each vendor often
             has their own recommendations on how to benchmark their solutions
             thus making it difficult to perform a apples-to-apples comparision
             between different solutions.  Hence, the need for a vendor, product
             and cloud agnostic way to benchmark network virtualization solutions
             to help with comparison and make informed decisions when it comes to
             selecting the right network virtualization solution.

             Applications traditionally have been segmented using VLANs and ACLs
             between the VLANs.  This model does not scale because of the 4K scale
             limitations of VLANs.  Overlays such as VXLAN were designed to
             address the limitations of VLANs.

             With VXLAN, applications are segmented based on VXLAN encapsulation
             (specifically the VNI field in the VXLAN header), which is similar to
             VLAN ID in the 802.1Q VLAN tag, however without the 4K scale
             limitations of VLANs.  For a more detailed discussion on this subject
             please refer RFC 7364 'Problem Statement: Overlays for Network
             Virtualization'.

             VXLAN is just one of several Network Virtualization Overlays (NVO).
             Some of the others include STT, Geneve and NVGRE.  STT and Geneve
             have expanded on the capabilities of VXLAN.  Please refer IETF's nvo3


        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 3]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             working group < https://datatracker.ietf.org/wg/nvo3/documents/> for
             more information.

             Modern application architectures, such as Micro-services, because of
             IP based connectivity within the app, place high demands on the
             networking and security when compared to the traditional three tier
             app models such as web, app and db. Benchmarks MUST consider whether
             the proposed solution is able to scale up to the demands of such
             applications and not just a three-tier architecture.

             The benchmarks will be utilizing the various terminology and
             definitions from the NVO3 working group including RFC 8014 and RFC
             8394.





        2. Conventions used in this document

             The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
             "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
             "OPTIONAL" in this document are to be interpreted as described in BCP
             14 [RFC2119] [RFC8174] when, and only when, they appear in all
             capitals, as shown here.

        3. Definitions

        3.1. System Under Test (SUT)

             Traditional hardware based networking devices generally use the
             device under test (DUT) model of testing.  In this model, apart from
             any allowed configuration, the DUT is a black box from a testing
             perspective.  This method works for hardware based networking devices
             since the device itself is not influenced by any other components
             outside the DUT.

             Virtual networking components cannot leverage DUT model of testing as
             the DUT is not just the virtual device but includes the hardware
             components that were used to host the virtual device

             Hence System Under Test (SUT) model MUST be used instead of the
             traditional device under test

             With SUT model, the virtual networking component along with all
             software and hardware components that host the virtual networking
             component MUST be considered as part of the SUT.


        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 4]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             Virtual networking components, because of their dependency on the
             underlying hardware and other software components, may end up
             leveraging NIC offload benefits, such as TCP Segmentation Offload
             (TSO), Large Receive Offload (LRO) and Rx / Tx Filters. Such
             underlying hardware and software level features, even though they may
             not be part of virtual networking stack itself, MUST be considered
             and documented.  Note:  Physical switches and routers, including the
             ones that act as initiators for NVOs, work with L2/L3 packets and may
             not be able to leverage TCP enhancements such as TSO.

             Please refer to section 5 Figure 1 for a visual representation of
             System Under Test in the case of Intra-Host testing and section 5
             Figure 2 for System Under Test in the case of Inter-Host testing.

        3.2. Network Virtualization Platform

             This document focuses on the Network Virtualization Overlay platform
             as outlined in RFC 8014 and use cases from RFC 8394.

             Network Virtualization platforms, function closer to the application
             layer and are able to work with not only L2/L3 packets but also
             segments that leverage TCP optimizations such as Large Segment
             Offload (LSO).

             NVPs leverage TCP stack optimizations such as TCP Segmentation
             Offload (TSO) and Large Receive Offload (LRO) that enables NVPs to
             work with much larger payloads of up to 64K unlike their counterparts
             such as NFVs.

             Because of the difference in the payload, which translates into one
             operation per 64K of payload in NVP verses ~40 operations for the
             same amount of payload in NFV because of having to divide it to MTU
             sized packets, results in considerable difference in performance
             between NFV and NVP.

             Please refer to figure 1 for a pictorial representation of this
             primary difference between NPV and NFV for a 64K payload
             segment/packet running on network set to 1500 bytes MTU.

             Note:  Payload sizes in figure 1 are approximates.












        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 5]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             NVP (1 segment)                NFV (40 packets)

             Segment 1                      Packet 1
               +-------------------------+    +-------------------------+
               | Headers                 |    | Headers                 |
               | +---------------------+ |    | +---------------------+ |
               | | Payload - upto 64K  | |    | | Payload < 1500      | |
               | +---------------------+ |    | +---------------------+ |
               +-------------------------+    +-------------------------+

                                            Packet 2
                                              +-------------------------+
                                              | Headers                 |
                                              | +---------------------+ |
                                              | | Payload < 1500      | |
                                              | +---------------------+ |
                                              +-------------------------+

                                                           .
                                                           .
                                                           .
                                                           .

                                            Packet 40
                                              +-------------------------+
                                              | Headers                 |
                                              | +---------------------+ |
                                              | | Payload < 1500      | |
                                              | +---------------------+ |
                                              +-------------------------+


                                           Figure 1! Payload NPV vs NFV



             Hence, normal benchmarking methods are not relevant to the NVPs.

             Instead, newer methods that leverage TCP optimizations MUST be used
             for testing Network Virtualization Platforms.

        3.3. Microservices

             Moving from traditional monolithic application architectures such as
             the three tier web, app and db architectures to microservices model
             open up networking and security stacks to new scale and performance


        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 6]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             related challenges.  At a high level, in a microservices model, a
             traditional monolithic app that may use few IPs is broken down into
             100s of individual one-responsibility-only applications where each
             application has connectivity and security related requirements.
             These 100s of small one-responsibility-only micro-services need their
             own IP and also secured into their own segments, hence pushing the
             scale boundaries of the overlay from both simple segmentation
             perspective and also from a security perspective.

             For more details regarding microservices, please refer to wiki on
             microservices:  https://en.wikipedia.org/wiki/Microservices

        4. Scope

             Focus of this document is the Network Virtualization Platform in two
             separate scenarios as outlined in RFC 8014 section 4, Network
             Virtualization Edge (NVE) and RFC 8394 section 1.1 Split-NVE and the
             associated learning phase:

        4.1.1. Scenario 1

             RFC 8014 Section 4.1 "NVE Co-located with server hypervisor": Where
             the entire NVE functionality will typically be implemented as part of
             the hypervisor and/or virtual switch on the server.

        4.1.2. Scenario 2

             RFC 8394 Section 1.1 "Split-NVE:  A type of NVE (Network
             Virtualization Edge) where the functionalities are split across an
             end device supporting virtualization and an external network device."

        4.1.3. Learning

             Address learning rate is a key contributor to the overall performance
             of SUT specially in microservices type of use cases where a large
             amount of end-points are created and destroyed on demand.

        4.1.4. Flow Optimization

             There are several flow optimization algorithms that are designed to
             help improve latency or throughput.  These optimizations MUST be
             documented.

        4.1.5. Out of scope

             This document does not address Network Function Virtualization which
             has been covered already by previous IETF documents


        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 7]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             (https://datatracker.ietf.org/doc/draft-ietf-bmwg-virtual-
             net/?include_text=1).

             Network Function Virtualization (NFV) focuses on being independent of
             networking hardware while providing the same functionality.  In the
             case of NFV, traditional benchmarking methodologies recommended by
             IETF may be used.  Considerations for Benchmarking Virtual Network
             Functions and Their Infrastructure IETF document addresses
             benchmarking NFVs.

             Typical NFV implementations emulate in software, the characteristics
             and features of physical switches.  They are similar to any physical
             L2/L3 switch from the perspective of the packet size, which is
             typically enforced based on the maximum transmission unit used.

        4.2. Virtual Networking for Datacenter Applications

             This document focuses on the virtual networking for east-west traffic
             within on-prem datacenter and/or cloud.  For example, in a three tier
             app such web, app and db, this document focuses on the east-west
             traffic between web and app.

             This document addresses scale requirements for modern application
             architectures such as Micro-services to consider whether the proposed
             solution is able to scale up to the demands of micro- services
             application models that basically have 100s of small services
             communicating on some standard ports such as http/https using
             protocols such as REST.

        4.3. Interaction with Physical Devices

             Virtual network components MUST NOT be tested independent of other
             components within the system.  Example, unlike a physical router or a
             firewall, where the tests can be focused solely on the device, when
             testing a virtual router or firewall, multiple other devices may
             become part of the SUT.  Hence the characteristics of these other
             traditional networking switches and routers, LB, FW etc. MUST be
             considered.

                o   Hashing method used

                o   Over-subscription rate

                o   Throughput available

                o   Latency characteristics



        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 8]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        5. NVP Benchmarking Considerations

             In virtual environments, the SUT may often share resources and reside
             on the same physical hardware with other components involved in the
             tests.  Hence SUT MUST be clearly documented.  In these tests, a
             single hypervisor may host multiple servers, switches, routers,
             firewalls etc.

             Intra host testing:  Intra host testing helps in reducing the number
             of components involved in a test.  For example, intra host testing
             would help focus on the System Under Test, logical switch and the
             hardware that is running the hypervisor that hosts the logical
             switch, and eliminate other components.  Because of the nature of
             virtual infrastructures and multiple elements being hosted on the
             same physical infrastructure, influence from other components cannot
             be completely ruled out.  For example, unlike in physical
             infrastructures, logical routing or distributed firewall MUST NOT be
             benchmarked independent of logical switching. System Under Test
             definition MUST include all components involved with that particular
             test.

                     +---------------------------------------------------+
                     | System Under Test                                 |
                     | +-----------------------------------------------+ |
                     | | Hyper-Visor                                   | |
                     | |                                               | |
                     | |                +-------------+                | |
                     | |                |     NVP     |                | |
                     | | +-----+        |    Switch/  |        +-----+ | |
                     | | | VM1 |<------>|   Router/   |<------>| VM2 | | |
                     | | +-----+   VW   |  Fire Wall/ |   VW   +-----+ | |
                     | |                |     etc.,   |                | |
                     | |                +-------------+                | |
                     | | Legend                                        | |
                     | | VM: Virtual Machine                           | |
                     | | VW: Virtual Wire                              | |
                     | +-----------------------------------------------+ |
                     +---------------------------------------------------+

                                    Figure 2! Intra-Host System Under Test

             In the above figure, we only address the NVE co-located with the
             hypervisor.

             Inter-host testing:  Inter-host testing helps in profiling the
             underlying network interconnect performance.  For example, when
             testing Logical Switching, inter host testing would not only test the


        Kommu & Rapp                       Expires Sep 11, 2019                                    [Page 9]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             logical switch component but also any other devices that are part of
             the physical data center fabric that connects the two hypervisors.
             System Under Test MUST be well defined to help with repeatability of
             tests.  System Under Test definition in the case of inter host
             testing, MUST include all components, including the underlying
             network fabric.

             Figure 2 is a visual representation of system under test for inter-
             host testing.


























































        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 10]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


                     +---------------------------------------------------+
                     | System Under Test                                 |
                     | +-----------------------------------------------+ |
                     | | Hyper-Visor                                   | |
                     | |                +-------------+                | |
                     | |                |     NVP     |                | |
                     | | +-----+        |    Switch/  |        +-----+ | |
                     | | | VM1 |<------>|   Router/   |<------>| VM2 | | |
                     | | +-----+   VW   |  Firewall/  |   VW   +-----+ | |
                     | |                |     etc.,   |                | |
                     | |                +-------------+                | |
                     | +------------------------_----------------------+ |
                     |                          ^                        |
                     |                          | Network Cabling        |
                     |                          v                        |
                     | +-----------------------------------------------+ |
                     | |       Physical Networking Components          | |
                     | |     switches, routers, firewalls etc.,        | |
                     | +-----------------------------------------------+ |
                     |                          ^                        |
                     |                          | Network Cabling        |
                     |                          v                        |
                     | +-----------------------------------------------+ |
                     | | Hyper-Visor                                   | |
                     | |                +-------------+                | |
                     | |                |     NVP     |                | |
                     | | +-----+        |    Switch/  |        +-----+ | |
                     | | | VM1 |<------>|   Router/   |<------>| VM2 | | |
                     | | +-----+   VW   |  Firewall/  |   VW   +-----+ | |
                     | |                |     etc.,   |                | |
                     | |                +-------------+                | |
                     | +------------------------_----------------------+ |
                     +---------------------------------------------------+
                     Legend
                     VM: Virtual Machine
                     VW: Virtual Wire


                                    Figure 3! Inter-Host System Under Test

             Virtual components have a direct dependency on the physical
             infrastructure that is hosting these resources.  Hardware
             characteristics of the physical host impact the performance of the
             virtual components. The components that are being tested and the
             impact of the other hardware components within the hypervisor on the
             performance of the SUT MUST be documented.  Virtual component
             performance is influenced by the physical hardware components within


        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 11]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             the hypervisor.  Access to various offloads such as TCP segmentation
             offload, may have significant impact on performance.  Firmware and
             driver differences may also significantly impact results based on
             whether the specific driver leverages any hardware level offloads
             offered.  Packet processing could be executed on shared or dedicated
             cores on the main processor or via a dedicated co-processor or
             embedded processor on NIC.

             Hence, all physical components of the physical server running the
             hypervisor that hosts the virtual components MUST be documented along
             with the firmware and driver versions of all the components used to
             help ensure repeatability of test results.  For example, BIOS
             configuration of the server MUST be documented as some of those
             changes are designed to improve performance.  Please refer to
             Appendix A for a partial list of parameters to document.

        5.1. Learning

             SUT needs to learn all the addresses before running any tests.
             Address learning rate MUST be considered in the overall performance
             metrics because address learning rate has a high impact in
             microservices based use cases where there is huge churn of end points
             as they are created and destroyed on demand.  In these cases, both
             the throughput at stable state, and the time taken to get to stable
             state MUST be tested and documented.

        5.2. Traffic Flow Optimizations

             Several mechanisms are employed to optimize traffic flows.  Following
             are some examples:

        5.2.1. Fast Path

             A single flow may go through various switching, routing and
             firewalling decisions.  While in the standard model, every single
             packet has to go through the entire process/pipeline, some
             optimizations help make this decision for the first packet, store the
             final state for that packet, and leverage it to skip the process for
             rest of the packets that are part of the same flow.

        5.2.2. Dedicated cores / Co-processors

             Packet processing is a CPU intensive workload.  Some NVE's may use
             dedicated cores or a co-processor primarily for packet processing
             instead of sharing the cores used for the actual workloads.  Such
             cases MUST be documented.  Tests MUST be performed with both shared



        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 12]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             and dedicated cores.  Results and differences in results MUST be
             documented.

        5.2.3. Prioritizing and de-prioritizing active flows

             Certain algorithms may prioritize or de-prioritize traffic flows
             based on purely their network characteristics such as the length of
             the flow.  For example, de-prioritize a long-lived flow.  This could
             result in changing the performance of a flow over a period of time.
             Such optimizations MUST be documented, and tests MUST consist of
             long-lived flows to help capture the change in performance for such
             flows.  Tests MUST note the point at which performance changes.

        5.3. Server Architecture Considerations

             When testing physical networking components, the approach taken is to
             consider the device as a black-box.  With virtual infrastructure,
             this approach would no longer help as the virtual networking
             components are an intrinsic part of the hypervisor they are running
             on and are directly impacted by the server architecture used. Server
             hardware components define the capabilities of the virtual networking
             components.  Hence, server architecture MUST be documented in detail
             to help with repeatability of tests.  And the entire hardware and
             software components become the SUT.

        5.3.1. NVE Component considerations

        5.3.1.1. NVE co-located

             Components of NVE co-located may be hypervisor based or offloaded
             entirely to the NIC card or a hybrid model.  In the case of
             hypervisor-based model, they may be running in user space or kernel
             space.  Further, they may use dedicated cores, shared cores or in
             some cases dedicated co-processors.  All the components and the
             process used MUST be documented.

        5.3.1.2. NVE split

             NVE split scenario generally has three primary components as
             documented per RFC 8394.

             "tNVE:  Terminal-side NVE.  The portion of Split-NVE functionalities
             located on the end device supporting virtualization.  The tNVE
             interacts with a Tenant System through an internal interface in the
             end device."  tNVE may be made of either hypervisor controlled
             components such as hypervisor provided switches or NVE controlled



        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 13]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             components where the network functionality is not provided by the
             hypervisor.  In either case, the components used MUST be documented.

             "nNVE:  Network-side NVE.  The portion of Split-NVE functionalities
             located on the network device that is directly or indirectly
             connected to the end device that contains the corresponding NVE. The
             nNVE normally performs encapsulation to and decapsulation from the
             overlay network."  All the functionality provided by the nNVE MUST be
             documented.

             "External NVE:  The physical network device that contains the nNVE."
             Networking device hardware specs MUST be documented.  Please use
             Apendix A for an example of the specs that MUST be documented.

             In either case, NVE co-located or NVE split all the components MUST
             be documented.  Where possible, individual components MUST be tested
             independent of the entire system.  For example, where possible,
             hypervisor provided switching functionality MUST be tested
             independent of the NVE.

             Per RFC 8014, "For the split-NVE case, protocols will be needed that
             allow the hypervisor and NVE to negotiate and set up the necessary
             state so that traffic sent across the access link between a server
             and the NVE can be associated with the correct virtual network
             instance." Supported VM lifecycle events, from RFC 8394 section 2,
             MUST be documented as part of the benchmark process.  This process
             MUST also include how the hypervisor and the external NVE have
             signaled each other to reach an agreement.  Example, see section 2.1
             of RFC 8394 "VM creation event".  The process used to update
             agreement status MUST also be documented.



























        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 14]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


                     +---------------------------------------------------+
                     | System Under Test                                 |
                     | +-----------------------------------------------+ |
                     | | Hyper-Visor                                   | |
                     | | +-----+        +-------------+                | |
                     | | | VM1 |<------>|   tNVE      |                | |
                     | | +-----+   VW   +-------------+                | |
                     | |                        ^                      | |
                     | |                        | TSI                  | |
                     | |                        v            Switch    | |
                     | |              +--------------------------+     | |
                     | |              |      External NVE        |     | |
                     | |              |   Router/Firewall/etc.,  |     | |
                     | |              +--------------------------+     | |
                     | |                        ^                      | |
                     | |                        | TSI                  | |
                     | |                        v                      | |
                     | |                +-------------+        +-----+ | |
                     | |                |     tNVE    |<------>| VM2 | | |
                     | |                +-------------+   VW   +-----+ | |
                     | +-----------------------------------------------+ |
                     +---------------------------------------------------+
                     Legend
                     VM: Virtual Machine
                     VW: Virtual Wire
                   TSI: Tenant System Interface
                   tNVE: Terminal Side NVE


                           Figure 4 NVE Split collocated - System Under Test



























        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 15]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


                     +---------------------------------------------------+
                     | System Under Test                                 |
                     | +-----------------------------------------------+ |
                     | | Hyper-Visor                                   | |
                     | |                +-------------+                | |
                     | | +-----+        |     NVP     |                | |
                     | | | VM1 |<------>|  Interface  |                | |
                     | | +-----+   VW   +-------------+                | |
                     | +-----------------------------------------------+ |
                     |                          ^                        |
                     |                          | Network Cabling        |
                     |                          v                        |
                     | +-----------------------------------------------+ |
                     | |  Physical switches, routers, firewalls etc.,  | |
                     | +-----------------------------------------------+ |
                     |                          ^                        |
                     |                          | Network Cabling        |
                     |                          v                        |
                     | +-----------------------------------------------+ |
                     | | Hyper-Visor/ +--------------------------+     | |
                     | | ToR Switch/  |        NVP Split         |     | |
                     | |  NIC etc.,   |   Router/Firewall/etc.,  |     | |
                     | |              +--------------------------+     | |
                     | +-----------------------------------------------+ |
                     |                          ^                        |
                     |                          | Network Cabling        |
                     |                          v                        |
                     | +-----------------------------------------------+ |
                     | |  Physical switches, routers, firewalls etc.,  | |
                     | +-----------------------------------------------+ |
                     |                          ^                        |
                     |                          | Network Cabling        |
                     |                          v                        |
                     | +-----------------------------------------------+ |
                     | | Hyper-Visor    +-------------+                | |
                     | |                |     NVP     |        +-----+ | |
                     | |                |  Interface  |<------>| VM2 | | |
                     | |                +-------------+   VW   +-----+ | |
                     | +-----------------------------------------------+ |
                     +---------------------------------------------------+
                     Legend
                     VM: Virtual Machine
                     VW: Virtual Wire


                        Figure 5 NVE Split not collocated - System Under Test



        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 16]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        5.3.2. Frame format/sizes within the Hypervisor

             Maximum Transmission Unit (MTU) limits physical network component's
             frame sizes.  The most common max supported MTU for physical devices
             is 9000.  However, 1500 MTU is the standard.  Physical network
             testing and NFV uses these MTU sizes for testing.  However, the
             virtual networking components that live inside a hypervisor, may work
             with much larger segments because of the availability of hardware and
             software based offloads.  Hence, the normal smaller packets based
             testing is not relevant for performance testing of virtual networking
             components.  All the TCP related configuration such as TSO size,
             number of RSS queues MUST be documented along with any other physical
             NIC related configuration.

             NVE co-located may have a different performance profile when compared
             with NVE split because, the NVE co-located may have access to
             offloads that may not be available when the packet has to traverse
             the physical link.  Such differences MUST be documented.

        5.3.3. Baseline testing with Logical Switch

             Logical switch is often an intrinsic component of the test system
             along with any other hardware and software components used for
             testing.  Also, other logical components cannot be tested independent
             of the Logical Switch.

        5.3.4. Repeatability

             To ensure repeatability of the results, in the physical network
             component testing, much care is taken to ensure the tests are
             conducted with exactly the same parameters.  Example parameters such
             as MAC addresses used.

             When testing NVP components with an application layer test tool,
             there may be a number of components within the system that may not be
             available to tune or to ensure they maintain a desired state.
             Example: housekeeping functions of the underlying Operating System.

             Hence, tests MUST be repeated a number of times and each test case
             MUST be run for at least 2 minutes if test tool provides such an
             option.  Results SHOULD be derived from multiple test runs. Variance
             between the tests SHOULD be documented.

        5.3.5. Tunnel encap/decap outside the Hypervisor

             Logical network components may also have performance impact based on
             the functionality available within the physical fabric.  Physical


        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 17]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             fabric that supports NVO encap/decap is one such case that may have a
             different performance profile.  Any such functionality that exists on
             the physical fabric MUST be part of the test result documentation to
             ensure repeatability of tests. In this case SUT MUST include the
             physical fabric if its being used for encap/decap operations.

        5.3.6. SUT Hypervisor Profile

             Physical networking equipment has well defined physical resource
             characteristics such as type and number of ASICs/SoCs used, amount of
             memory, type and number of processors etc., Virtual networking
             components performance is dependent on the physical hardware that
             hosts the hypervisor.  Hence the physical hardware usage, which is
             part of SUT, for a given test MUST be documented, for example, CPU
             usage when running logical router.

             CPU usage, changes based on the type of hardware available within the
             physical server.  For example, TCP Segmentation Offload greatly
             reduces CPU usage by offloading the segmentation process to the NIC
             card on the sender side.  Receive side scaling offers similar benefit
             on the receive side.  Hence, availability and status of such hardware
             MUST be documented along with actual CPU/Memory usage when the
             virtual networking components have access to such offload capable
             hardware.

             Following is a partial list of components that MUST be documented
             both in terms of what is available and also what is used by the SUT

                o   CPU - type, speed, available instruction sets (e.g. AES-NI)

                o   Memory - type, amount

                o   Storage - type, amount

                o   NIC Cards -

                       * Type

                       * number of ports

                       * offloads available/used - following is a partial list of
                           possible features

                               o TCP Segmentation Offload

                               o Large Receive Offload



        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 18]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


                               o Checksum Offloads

                               o Receive Side Scaling

                               o Other Queuing Mechanisms

                       * drivers, firmware (if applicable)

                       * HW revision

                o    Libraries such as DPDK if available and used

                o    Number and type of VMs used for testing and

                       * vCPUs

                       * RAM

                       * Storage

                       * Network Driver

                       * Any prioritization of VM resources

                       * Operating System type, version and kernel if applicable

                       * TCP Configuration Changes - if any

                       * MTU

                o    Test tool

                       * Workload type

                       * Protocol being tested

                       * Number of threads

                       * Version of tool

                o   For inter-hypervisor tests,

                       * Physical network devices that are part of the test

                               o Note:  For inter-hypervisor tests, system under test
                                  is no longer only the virtual component that is being



        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 19]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


                                  tested but the entire fabric that connects the virtual
                                  components become part of the system under test.

        5.4. Benchmarking Tools Considerations

        5.4.1. Considerations for NVE

             Virtual network components in NVE work closer to the application
             layer then the physical networking components, which enables the
             virtual network components to take advantage of TCP optimizations
             such as TCP Segmentation Offload (TSO) and Large Receive Offload
             (LRO).  Because of this optimizations, virtual network components
             work with type and size of segments that are often not the same type
             and size that the physical network works with.  Hence, testing
             virtual network components MUST be done with application layer
             segments instead of the physical network layer packets.  Testing MUST
             be done with application layer testing tools such as iperf, netperf
             etc.,

        5.4.2. Considerations for Split-NVE

             In the case of Split-NVE, since they may not leverage any TCP related
             optimizations, typical network test tools focused on packet
             processing MUST be used.  However, the tools used MUST be able to
             leverage Receive Side Scaling (RSS).

        6. Control Plane Scale Considerations

             For a holistic approach to performance testing, control plane
             performance must also be considered.  While the previous sections
             focused on performance tests after the SUT has come to a steady
             state, the following section focusses on tests to measure the time
             taken to bring the SUT to steady state.

             In a physical network infrastructure world view, this could be
             various stages such as boot up time, time taken to apply
             configuration, BGP convergence time etc.,  In a virtual
             infrastructure world, this involves lot more components which may
             also be distributed across multiple hosts.  Some of the components
             are:

                o   VM Creation Event

                o   VM Migration Event

                i   How many total VMs can the SUT support



        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 20]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


                o   What is the rate at which the SUT would allow creation of VMs

             Please refer to section 2 of RFC 8394 for various VM events and their
             definitions.  In the following section we further clarify some of the
             terms used in the above RFC.

             VM Creation

             For the purposes of NVP control plane testing, VM Creation event is
             when a VM starts participating for the first time on a NVP provided
             network.  This involves various actions on the tNVE and NVP.  Please
             refer to 2.1 "VM Creation Event" of RFC 8394 for more details.

             In order to rule out any Hypervisor imposed limitations, System Under
             Test must first be profiled and baselined with-out the use of NVP
             components.  For the purposes of baselining control plane, the VM
             used may have very small footprint such as DSL Linux which runs in
             16MB RAM.

             Once a baseline has been established for a single HV, a similar
             exercise MUST be done on multiple HVs to establish a baseline for the
             entire hypervisor domain.  However, it may not be practical to have
             physical hosts and hence nested hosts may be used for this purpose

        6.1.1. VM Events

             Performance of various control plane activities which are associated
             with the System Under Test, MUST BE documented.

                o   VM Creation: Time taken to join the VMs to the SUT provided
                    network

                o   Policy Realization: Time taken for policy realization on the VM

                o   VM Migration: Time taken to migrate a VM from one SUT provided
                    network to another SUT provided network

             For the test itself, the following process could be use:

                1 API to call to join VM on the SUT provided network

                2 Loop while incrementing a timer - till the VM comes online on
                    the SUT provided network

             Similarly, policy realization and VM migration may also be tested
             with a check on whether the VM is available or not available based on
             the type of policy that is applied.


        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 21]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        6.1.2. Scale

             SUT must also be tested to determine the maximum scale supported.
             Scale can be multi-faceted such as the following:

                o   Total # of VMs per Host

                o   Total # of VMs per one SUT Domain

                o   Total # of Hosts per one SUT Domain

                o   Total # of Logical Switches per one SUT Domain

                       * Total # of VMs per one SUT provided Logical Switch

                               o Per Host

                               o Per SUT Domain

                o   Total # of Logical Routers per one SUT Domain

                       * Total # of Logical Switches per one Logical Router

                       * Total # of VMs on a single Logical Router

                o   Total # of Firewall Sections

                o   Total # of Firewall Rules per Section

                o   Total # of Firewall Rules applied per VM

                o   Total # of Firewall Rules applied per Host

                o   Total # of Firewall Rules per SUT

        6.1.3. Control Plane Performance at Scale

             Benchmarking MUST also test and document the control performance at
             scale.  That is,

                o   Total # VMs that can be created in parallel

                       * How long does the action take

                o   Total # of VMs that can be migrated in parallel

                       * How long does the action take


        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 22]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


                o   Total amount of time taken to apply 1 firewall across the
                    entire VMs under a SUT

                o   Time taken to apply 1000s rules on a SUT



        7. Security Considerations

             Benchmarking activities as described in this memo are limited to
             technology characterization of a Device Under Test/System Under Test
             (DUT/SUT) using controlled stimuli in a laboratory environment, with
             dedicated address space and the constraints specified in the sections
             above.

             The benchmarking network topology will be an independent test setup
             and MUST NOT be connected to devices that may forward the test
             traffic into a production network, or misroute traffic to the test
             management network.

             Further, benchmarking is performed on a 'black-box' basis, relying
             solely on measurements observable external to the DUT/SUT.

             Special capabilities SHOULD NOT exist in the DUT/SUT specifically for
             benchmarking purposes.  Any implications for network security arising
             from the DUT/SUT SHOULD be identical in the lab and in production
             networks.

        8. IANA Considerations

             No IANA Action is requested at this time.

        9. Conclusions

             Network Virtualization Platforms, because of their proximity to the
             application layer and since they can take advantage of TCP stack
             optimizations, do not function on packets/sec basis.  Hence,
             traditional benchmarking methods, while still relevant for Network
             Function Virtualization, are not designed to test Network
             Virtualization Platforms.  Also, advances in application
             architectures such as micro-services, bring new challenges and need
             benchmarking not just around throughput and latency but also around
             scale.  New benchmarking methods that are designed to take advantage
             of the TCP optimizations or needed to accurately benchmark
             performance of the Network Virtualization Platforms




        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 23]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        10. References

        10.1. Normative References

             [RFC7364] T. Narten, E. Gray, D. Black, L. Fang, L. Kreeger, M.
                           Napierala, 'Problem Statement: Overlays for Network
                           Virtualization', RFC 7364, October 2014,
                           https://datatracker.ietf.org/doc/rfc7364/

             [RFC8014] D. Black, J. Hudson, L. Kreeger, M. Lasserre, T. Narten 'An
                           Architecture for Data-Center Network Virtualization over
                           Layer 3 (NVO3)', RFC 8014, December 2016,
                           https://tools.ietf.org/html/rfc8014

             [RFC8394] Y. Li, D. Eastlake 3rd, L. Kreeger, T. Narten, D. Black
                           'Split Network Virtualization Edge (Split-NVE) Control-
                           Plane Requirements', RFC 8394, May 2018,
                           https://tools.ietf.org/html/rfc8394

             [nv03]    IETF, WG, Network Virtualization Overlays,
                           <https://datatracker.ietf.org/wg/nvo3/documents/>

        10.2. Informative References

             [RFC8172] A. Morton 'Considerations for Benchmarking Virtual Network
                           Functions and Their Infrastructure', RFC 8172, July 2017,
                           https://tools.ietf.org/html/rfc8172

        11. Acknowledgments

             This document was prepared using 2-Word-v2.0.template.dot.

























        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 24]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        Appendix A.!Partial List of Parameters to Document

        A.1. CPU

             CPU Vendor

             CPU Number

             CPU Architecture

             # of Sockets (CPUs)

             # of Cores

             Clock Speed (GHz)

             Max Turbo Freq. (GHz)

             Cache per CPU (MB)

             # of Memory Channels

             Chipset

             Hyperthreading (BIOS Setting)

             Power Management (BIOS Setting)

             VT-d

             Shared vs Dedicated packet processing

             User space vs Kernel space packet processing

        A.2. Memory

             Memory Speed (MHz)

             DIMM Capacity (GB)

             # of DIMMs

             DIMM configuration

             Total DRAM (GB)




        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 25]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        A.3. NIC

             Vendor

             Model

             Port Speed (Gbps)

             Ports

             PCIe Version

             PCIe Lanes

             Bonded

             Bonding Driver

             Kernel Module Name

             Driver Version

             VXLAN TSO Capable

             VXLAN RSS Capable

             Ring Buffer Size RX

             Ring Buffer Size TX

        A.4. Hypervisor

             Hypervisor Name

             Version/Build

             Based on

             Hotfixes/Patches

             OVS Version/Build

             IRQ balancing

             vCPUs per VM

             Modifications to HV


        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 26]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


             Modifications to HV TCP stack

             Number of VMs

             IP MTU

             Flow control TX (send pause)

             Flow control RX (honor pause)

             Encapsulation Type

        A.5. Guest VM

             Guest OS & Version

             Modifications to VM

             IP MTU Guest VM (Bytes)

             Test tool used

             Number of NetPerf Instances

             Total Number of Streams

             Guest RAM (GB)

        A.6. Overlay Network Physical Fabric

             Vendor

             Model

             # and Type of Ports

             Software Release

             Interface Configuration

             Interface/Ethernet MTU (Bytes)

             Flow control TX (send pause)

             Flow control RX (honor pause)




        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 27]









        Internet-Draft              NVP Benchmarking Considerations                              March 2019


        A.7. Gateway Network Physical Fabric

             Vendor

             Model

             # and Type of Ports

             Software Release

             Interface Configuration

             Interface/Ethernet MTU (Bytes)

             Flow control TX (send pause)

             Flow control RX (honor pause)

        A.8. Metrics

             Drops on the virtual infrastructure

             Drops on the physical underlay infrastructure



        Authors' Addresses

             Samuel Kommu
             VMware
             3401 Hillview Ave
             Palo Alto, CA, 94304

             Email: skommu@vmware.com


             Jacob Rapp
             VMware
             3401 Hillview Ave
             Palo Alto, CA, 94304

             Email: jrapp@vmware.com








        Kommu & Rapp                       Expires Sep 11, 2019                                  [Page 28]