.. _span_doc:

Switched Port Analyzer
======================

This is a memo intended to contain documentation of the VPP SPAN
implementation. Everything that is not directly obvious should come
here.

Port mirroring is used on a network switch to send a copy of network
packets seen on one switch port to a network monitoring connection on
another switch port. Can be used by network engineers or administrators
to measure performance, analyze and debug data or diagnose errors on a
network.

RX traffic node
~~~~~~~~~~~~~~~

There is one static node to mirror incoming packets. \* span-input:
Creates a copy of incoming buffer due to incoming buffers can be reused
internally.

Chaining: dpdk-input -> span-input -> \* original buffer is sent to
ethernet-input for processing \* buffer copy is sent to interface-output

Configuration
~~~~~~~~~~~~~

SPAN supports the following CLI configuration commands:

Enable/Disable SPAN (CLI)
^^^^^^^^^^^^^^^^^^^^^^^^^

::

   set interface span <if-name> [disable | destination <if-name>]

: mirrored interface name destination : monitoring interface name
disable: delete mirroring

Enable/Disable SPAN (API)
^^^^^^^^^^^^^^^^^^^^^^^^^

SPAN supports the following API configuration command:
sw_interface_span_enable_disable src GigabitEthernet0/8/0 dst
GigabitEthernet0/9/0 sw_interface_span_enable_disable src_sw_if_index 1
dst_sw_if_index 2

src/src_sw_if_index: mirrored interface name dst/dst_sw_if_index:
monitoring interface name

Remove SPAN entry (API)
^^^^^^^^^^^^^^^^^^^^^^^

SPAN supports the following API configuration command:
sw_interface_span_enable_disable src_sw_if_index 1 dst_sw_if_index 2
disable

src_sw_if_index: mirrored interface name dst_sw_if_index: monitoring
interface name

Configuration example
~~~~~~~~~~~~~~~~~~~~~

Mirror all packets on interface GigabitEthernet0/10/0 to interface
GigabitEthernet0/11/0.

Configure IPv4 addresses on mirrored interface: set interface ip address
GigabitEthernet0/10/0 192.168.1.13/24 set interface state
GigabitEthernet0/10/0 up

Configure IPv4 addresses on monitoring interface: set interface ip
address GigabitEthernet0/11/0 192.168.2.13/24 set interface state
GigabitEthernet0/11/0 up

Configure SPAN set span src GigabitEthernet0/10/0 dst
GigabitEthernet0/11/0

Operational data
~~~~~~~~~~~~~~~~

Active SPAN mirroring CLI show command: show interfaces span

Active SPAN mirroring API dump command: sw_interface_span_dump
