summaryrefslogtreecommitdiffstats
path: root/test/test_punt.py
AgeCommit message (Expand)AuthorFilesLines
2020-05-15ikev2: add support for NAT traversalFilip Tehlar1-4/+1
2020-02-26api: improve api string safetyJakub Grajciar1-0/+2
2020-02-25vlib: Punt reason allocation listener enable/disable callbackNeale Ranns1-24/+36
2019-12-17ip: Protocol Independent IP NeighborsNeale Ranns1-1/+0
2019-11-08ipsec: remove dedicated IPSec tunnelsNeale Ranns1-7/+13
2019-11-07tests: make threads in punt tests join when finishedAndrew Yourtchenko1-8/+23
2019-11-05misc: Fix python scripts shebang lineRenato Botelho do Couto1-1/+1
2019-10-18ip: add python3 support to punt testsOle Troan1-77/+50
2019-07-31tests: disable pg capture before enabling itAndrew Yourtchenko1-1/+5
2019-07-12ip ipsec: Remove IPSec SPI-0 punt reasonNeale Ranns1-26/+32
2019-06-19tests: send packet output to log - test_punt.pyPaul Vinciguerra1-1/+0
2019-06-18fib: fib api updatesNeale Ranns1-2/+1
2019-06-14ipsec: Correctly rewind the buffer to the IP header when punting UDP encapped...Neale Ranns1-13/+40
2019-06-04Punt: specify packets by IP protocol TypeNeale Ranns1-3/+160
2019-05-28Punt: socket register for exception dispatched/punted packets based on reasonNeale Ranns1-308/+500
2019-05-22stats: support multiple works for error countersOle Troan1-1/+1
2019-05-17Tests: Raise exception if API cli_inband command fails.Paul Vinciguerra1-2/+0
2019-05-16tests: refactor. Replace literal constant w/ named constant.Paul Vinciguerra1-17/+19
2019-04-05IPSEC: punt reasons; SPI=0, no-tunnelNeale Ranns1-6/+6
2019-03-28Punt InfraNeale Ranns1-0/+176
2019-03-28Typos. A bunch of typos I've been collecting.Paul Vinciguerra1-4/+4
2019-03-11VPP-1508: Tests: Fix vpp_api struct.error under py3.Paul Vinciguerra1-25/+48
2019-03-11VPP-1508: Use scapy.compat to manage packet level library differences.Paul Vinciguerra1-2/+3
2019-02-04VTL Cleanup: Fix missing calls to setUpClass/tearDownClass, fix numerous Type...Paul Vinciguerra1-0/+25
2018-12-21Revert "tests: Rework vpp config generation."Ole Troan1-2/+2
2018-12-21tests: Rework vpp config generation.Paul Vinciguerra1-2/+2
2018-12-18punt: additional tests for multi clientsPavel Kotucek1-91/+408
2018-12-07VPP-1506: dump local punts and registered punt socketsPavel Kotucek1-0/+309
und-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
IPv4 Routed-Forwarding
======================

Following sections include summary graphs ofL3FWD Phy-to-Phy performance with
packet routed forwarding, including NDR throughput (zero packet loss)
and PDR throughput (<0.5% packet loss). Performance is reported for L3FWD
running in multiple configurations of L3FWD pmd thread(s), a.k.a. L3FWD
data plane thread(s), and their physical CPU core(s) placement.

NDR Throughput
~~~~~~~~~~~~~~

Testpmd NDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
in the graph below.

.. raw:: html

    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/dpdk/64B-1t1c-ipv4-ndrdisc.html"></iframe>

.. raw:: latex

    \begin{figure}[H]
        \centering
            \graphicspath{{../_build/_static/dpdk/}}
            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-ipv4-ndrdisc}
            \label{fig:64B-1t1c-ipv4-ndrdisc-dpdk}
    \end{figure}

*Figure 1. L3FWD 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding
Looping.*

CSIT source code for the test cases used for above plots can be found in CSIT
git repository:

.. only:: html

   .. program-output:: cd ../../../../../ && set -x && cd tests/dpdk/perf && grep -P '64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc' *
      :shell:

.. only:: latex

   .. code-block:: bash

      $ cd tests/dpdk/perf
      $ grep -P '64B-1t1c-ethip4-ip4base-l3fwd-ndrdisc' *

Testpmd NDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
in the graph below.

.. raw:: html

    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/dpdk/64B-2t2c-ipv4-ndrdisc.html"></iframe>

.. raw:: latex

    \begin{figure}[H]
        \centering
            \graphicspath{{../_build/_static/dpdk/}}
            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-ipv4-ndrdisc}
            \label{fig:64B-2t2c-ipv4-ndrdisc-dpdk}
    \end{figure}

*Figure 2. L3FWD 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding
Looping.*

CSIT source code for the test cases used for above plots can be found in CSIT
git repository:

.. only:: html

   .. program-output:: cd ../../../../../ && set -x && cd tests/dpdk/perf && grep -P '64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc' *
      :shell:

.. only:: latex

   .. code-block:: bash

      $ cd tests/dpdk/perf
      $ grep -P '64B-2t2c-ethip4-ip4base-l3fwd-ndrdisc' *

PDR Throughput
~~~~~~~~~~~~~~

L3FWD PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
in the graph below. PDR measured for 0.5% packet loss ratio.

.. raw:: html

    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/dpdk/64B-1t1c-ipv4-pdrdisc.html"></iframe>

.. raw:: latex

    \begin{figure}[H]
        \centering
            \graphicspath{{../_build/_static/dpdk/}}
            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-ipv4-pdrdisc}
            \label{fig:64B-1t1c-ipv4-pdrdisc-dpdk}
    \end{figure}

*Figure 3. L3FWD 1thread 1core - PDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding
Looping.*

CSIT source code for the test cases used for above plots can be found in CSIT
git repository:

.. only:: html

   .. program-output:: cd ../../../../../ && set -x && cd tests/dpdk/perf && grep -P '64B-1t1c-ethip4-ip4base-l3fwd-pdrdisc' *
      :shell:

.. only:: latex

   .. code-block:: bash

      $ cd tests/dpdk/perf
      $ grep -P '64B-1t1c-ethip4-ip4base-l3fwd-pdrdisc' *

L3FWD PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
in the graph below. PDR measured for 0.5% packet loss ratio.

.. raw:: html

    <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/dpdk/64B-2t2c-ipv4-pdrdisc.html"></iframe>

.. raw:: latex

    \begin{figure}[H]
        \centering
            \graphicspath{{../_build/_static/dpdk/}}
            \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-ipv4-pdrdisc}
            \label{fig:64B-2t2c-ipv4-pdrdisc-dpdk}
    \end{figure}

*Figure 4. L3FWD 2thread 2core - PDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding
Looping.*

CSIT source code for the test cases used for above plots can be found in CSIT
git repository:

.. only:: html

   .. program-output:: cd ../../../../../ && set -x && cd tests/dpdk/perf && grep -P '64B-2t2c-ethip4-ip4base-l3fwd-pdrdisc' *
      :shell:

.. only:: latex

   .. code-block:: bash

      $ cd tests/dpdk/perf
      $ grep -P '64B-2t2c-ethip4-ip4base-l3fwd-pdrdisc' *