aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/span/span_doc.rst
blob: f529fb36eb4bbdd401b54a437cbd51c7be3a4933 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
.. _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