.. _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