From 78f547514e54a9332b919734aed7c8ca1390cb48 Mon Sep 17 00:00:00 2001 From: Pierrick Louin Date: Sun, 8 Nov 2020 22:31:41 +0100 Subject: NFVBENCH-187: Augment --l2-loopback command line option capabilities [vlan(s)|no-tag|true|false] - Update documentation Clarify some fuzzy coding in options processing [nfvbench.py] Change-Id: Ie6eec7722bfa557924f435f268b852c300e160df Signed-off-by: Pierrick Louin --- docs/testing/user/userguide/advanced.rst | 60 ++++++++++++++++++++++++++++++++ docs/testing/user/userguide/faq.rst | 2 +- docs/testing/user/userguide/readme.rst | 13 +++++-- 3 files changed, 71 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/testing/user/userguide/advanced.rst b/docs/testing/user/userguide/advanced.rst index d7dc53f..2bd88cf 100644 --- a/docs/testing/user/userguide/advanced.rst +++ b/docs/testing/user/userguide/advanced.rst @@ -598,6 +598,66 @@ Used parameters: * ``--unidir`` : run traffic with unidirectional flow (default to bidirectional flow) +.. _adv-l2l-cli: + +L2 loopback test via CLI +------------------------ + +The CLI allows running a pure L2 loopback benchmark with the ``--l2-loopback`` option. +Enabling this mode overrides any service chain type selected in the config file. +The usual argument would be a single VLAN ID but the syntax has been extended. + +Examples of runs: + +* specify the vlan ID + + .. code-block:: bash + + nfvbench -c nfvbench.cfg --frame-size=64 --rate=100% --duration=10 --l2-loopback=123 + +* specify a list of vlan IDs + + Several service chains are created, the count is adjusted to the list size. + + .. code-block:: bash + + nfvbench -c nfvbench.cfg -fs=64 --rate=100% --duration=10 --l2-loopback=123,124,125 + +* enable the mode without VLAN tagging + + In this case the service chain count is forced to 1. + + .. code-block:: bash + + nfvbench -c nfvbench.cfg -fs=64 --rate=100% --duration=10 --l2-loopback=no-tag + +* use different VLAN tags for left & right side ports + + .. code-block:: bash + + nfvbench -c nfvbench.cfg -fs=64 --rate=100% --duration=10 --l2-loopback=111_211 + nfvbench -c nfvbench.cfg -fs=64 --rate=100% --duration=10 --l2-loopback=111,112_211,212 + + .. note:: + It may look bizarre to specify mismatched VLAN tags for left & right sides, + however no assumption is made about the loop implementation. + This could help testing some exotic L2 layer configuration comprising a VLAN rewriting. + +* enable the mode, starting from current settings (prepared in the cfg file) + + In this case the service chain count is not adjusted. + + .. code-block:: bash + + nfvbench -c nfvbench.cfg -fs=64 --rate=100% --duration=10 --l2-loopback=true + +* disable the mode (possibly enabled in the cfg file) + + .. code-block:: bash + + nfvbench -c nfvbench.cfg --l2-loopback=false + + MAC Addresses ------------- diff --git a/docs/testing/user/userguide/faq.rst b/docs/testing/user/userguide/faq.rst index a8aad9a..014a1ab 100644 --- a/docs/testing/user/userguide/faq.rst +++ b/docs/testing/user/userguide/faq.rst @@ -46,7 +46,7 @@ The most common issues that prevent traffic from passing are: - incorrect vlan_tagging setting in the NFVbench configuration, this needs to match how the NFVbench ports on the switch are configured (trunk or access port) - if the switch port is configured as access port, you must disable vlan_tagging in the NFVbench configuration - - of the switch port is configured as trunk (recommended method), you must enable it + - if the switch port is configured as trunk (recommended method), you must enable it Issues with high performances at a high line rate ------------------------------------------------- diff --git a/docs/testing/user/userguide/readme.rst b/docs/testing/user/userguide/readme.rst index 50175c3..f6cc153 100644 --- a/docs/testing/user/userguide/readme.rst +++ b/docs/testing/user/userguide/readme.rst @@ -78,15 +78,22 @@ NFVbench supports settings that involve externally staged packet paths with or w Direct L2 Loopback (Switch or wire loopback) -------------------------------------------- -NFVbench supports benchmarking of pure L2 loopbacks (see "--l2-loopback vlan" option) +NFVbench supports benchmarking of pure L2 loopbacks - Switch level loopback - Port to port wire loopback -In this mode, NFVbench will take a vlan ID and send packets from each port to the other port -(dest MAC set to the other port MAC) using the same VLAN ID on both ports. +In this mode, NFVbench will send packets from each port to the other port +(the destination MAC address is set to the other port MAC address). This can be useful for example to verify that the connectivity to the switch is working properly. +Such a test can be quickly run using the CLI ``--l2-loopback`` :ref:`option `. + +For a typical test, packets will be VLAN tagged with the same ID on both ports. +However, multiple L2 vlan tagged service chains are also allowed, +which permits testing various configurations and the behavior of the bench itself. + + Traffic Generation ------------------ -- cgit 1.2.3-korg