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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
.de IQ
. br
. ns
. IP "\\$1"
..
.TH ovs\-l3ping 1 "@VERSION@" "Open vSwitch" "Open vSwitch Manual"
.
.SH NAME
\fBovs\-l3ping\fR \- check network deployment for L3 tunneling
problems
.
.SH SYNOPSIS
\fBovs\-l3ping\fR \fB\-s\fR \fITunnelRemoteIP,InnerIP[/mask]\fR \fB\-t\fR \fItunnelmode\fR
.br
\fBovs\-l3ping\fR \fB\-s\fR \fITunnelRemoteIP,InnerIP[/mask][:ControlPort]\fR \fB\-t\fR \fItunnelmode\fR
.PP
\fBovs\-l3ping\fR \fB\-c\fR \fITunnelRemoteIP,InnerIP[/mask],RemoteInnerIP\fR \fB\-t\fR \fItunnelmode\fR
.br
\fBovs\-l3ping\fR \fB\-c\fR \fITunnelRemoteIP,InnerIP[/mask][:ControlPort\
[:DataPort]],RemoteInnerIP[:ControlPort[:DataPort]]\fR
[\fB\-b\fR \fItargetbandwidth\fR] [\fB\-i\fR \fItestinterval\fR]
\fB\-t\fR \fItunnelmode\fR
.so lib/common-syn.man
.
.SH DESCRIPTION
The \fBovs\-l3ping\fR program may be used to check for problems that could
be caused by invalid routing policy, misconfigured firewall in the tunnel
path or a bad NIC driver. On one of the nodes, run \fBovs\-l3ping\fR in
server mode and on the other node run it in client mode. The client and
server will establish L3 tunnel, over which client will give further testing
instructions. The \fBovs\-l3ping\fR client will perform UDP and TCP tests.
This tool is different from \fBovs\-test\fR that it encapsulates XML/RPC
control connection over the tunnel, so there is no need to open special holes
in firewall.
.PP
UDP tests can report packet loss and achieved bandwidth for various
datagram sizes. By default target bandwidth for UDP tests is 1Mbit/s.
.PP
TCP tests report only achieved bandwidth, because kernel TCP stack
takes care of flow control and packet loss.
.
.SS "Client Mode"
An \fBovs\-l3ping\fR client will create a L3 tunnel and connect over it to the
\fBovs\-l3ping\fR server to schedule the tests. \fITunnelRemoteIP\fR is the
peer's IP address, where tunnel will be terminated. \fIInnerIP\fR is the
address that will be temporarily assigned during testing. All test traffic
originating from this IP address to the \fIRemoteInnerIP\fR will be tunneled.
It is possible to override default \fIControlPort\fR and \fIDataPort\fR, if
there is any other application that already listens on those two ports.
.
.SS "Server Mode"
To conduct tests, \fBovs\-l3ping\fR server must be running. It is required
that both client and server \fIInnerIP\fR addresses are in the same subnet.
It is possible to specify \fIInnerIP\fR with netmask in CIDR format.
.
.SH OPTIONS
One of \fB\-s\fR or \fB\-c\fR is required. The \fB\-t\fR option is
also required.
.
.IP "\fB\-s \fITunnelRemoteIP,InnerIP[/mask][:ControlPort]\fR"
.IQ "\fB\-\-server\fR \fITunnelRemoteIP,InnerIP[/mask][:ControlPort]\fR"
Run in server mode and create L3 tunnel with the client that will be
accepting tunnel at \fITunnelRemoteIP\fR address. The socket on
\fIInnerIP[:ControlPort]\fR will be used to receive further instructions
from the client.
.
.IP "\fB\-c \fITunnelRemoteIP,InnerIP[/mask][:ControlPort\
[:DataPort]],RemoteInnerIP[:ControlPort[:DataPort]]\fR"
.IQ "\fB\-\-client \fITunnelRemoteIP,InnerIP[/mask][:ControlPort\
[:DataPort]],RemoteInnerIP[:ControlPort[:DataPort]]\fR"
Run in client mode and create L3 tunnel with the server on
\fITunnelRemoteIP\fR. The client will use \fIInnerIP\fR to generate test
traffic with the server's \fIRemoteInnerIP\fR.
.
.IP "\fB\-b \fItargetbandwidth\fR"
.IQ "\fB\-\-bandwidth\fR \fItargetbandwidth\fR"
Target bandwidth for UDP tests. The \fItargetbandwidth\fR must be given in
bits per second. It is possible to use postfix M or K to alter the target
bandwidth magnitude.
.
.IP "\fB\-i \fItestinterval\fR"
.IQ "\fB\-\-interval\fR \fItestinterval\fR"
How long each test should run. By default 5 seconds.
.
.IP "\fB\-t \fItunnelmode\fR"
.IQ "\fB\-\-tunnel\-mode\fR \fItunnelmode\fR"
Specify the tunnel type. This option must match on server and client.
.
.so lib/common.man
.
.SH EXAMPLES
.PP
On host 192.168.122.220 start \fBovs\-l3ping\fR in server mode. This command
will create a temporary GRE tunnel with the host 192.168.122.236 and assign
10.1.1.1/28 as the inner IP address, where client will have to connect:
.IP
.B ovs\-l3ping -s 192.168.122.236,10.1.1.1/28 -t gre
.
.PP
On host 192.168.122.236 start \fBovs\-l3ping\fR in client mode. This command
will use 10.1.1.2/28 as the local inner IP address and will connect over the
L3 tunnel to the server's inner IP address at 10.1.1.1.
.IP
.B ovs\-l3ping -c 192.168.122.220,10.1.1.2/28,10.1.1.1 -t gre
.
.SH SEE ALSO
.
.BR ovs\-vswitchd (8),
.BR ovs\-ofctl (8),
.BR ovs\-vsctl (8),
.BR ovs\-vlan\-test (8),
.BR ovs\-test (8),
.BR ethtool (8),
.BR uname (1)
|