ovs-l3ping is barely used nowadays.  Standard tools like iperf are
preferred for performance and L3 tunneling testing.  Remove the
utility, its man page, and all build system and packaging references.

Suggested-by: Ilya Maximets <[email protected]>
Signed-off-by: Timothy Redaelli <[email protected]>
---
 Documentation/automake.mk          |   1 -
 Documentation/conf.py              |   2 -
 Documentation/ref/index.rst        |   1 -
 Documentation/ref/ovs-l3ping.8.rst | 129 -----------------------------
 NEWS                               |   2 +
 debian/openvswitch-test.install    |   2 -
 rhel/openvswitch-fedora.spec.in    |   2 -
 rhel/openvswitch.spec.in           |   4 +-
 utilities/.gitignore               |   2 -
 utilities/automake.mk              |   3 -
 utilities/ovs-l3ping.in            |  76 -----------------
 11 files changed, 3 insertions(+), 221 deletions(-)
 delete mode 100644 Documentation/ref/ovs-l3ping.8.rst
 delete mode 100644 utilities/ovs-l3ping.in

diff --git a/Documentation/automake.mk b/Documentation/automake.mk
index ea9459b55..f5ae85d3a 100644
--- a/Documentation/automake.mk
+++ b/Documentation/automake.mk
@@ -163,7 +163,6 @@ RST_MANPAGES = \
        ovs-appctl.8.rst \
        ovs-ctl.8.rst \
        ovs-flowviz.8.rst \
-       ovs-l3ping.8.rst \
        ovs-pki.8.rst \
        ovs-tcpdump.8.rst \
        ovs-tcpundump.1.rst \
diff --git a/Documentation/conf.py b/Documentation/conf.py
index 276999b29..9c10e554f 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -132,8 +132,6 @@ _man_pages = [
      u'OVS startup helper script'),
     ('ovs-flowviz.8',
      u'utility for visualizing OpenFlow and datapath flows'),
-    ('ovs-l3ping.8',
-     u'check network deployment for L3 tunneling problems'),
     ('ovs-pki.8',
      u'OpenFlow public key infrastructure management utility'),
     ('ovs-sim.1',
diff --git a/Documentation/ref/index.rst b/Documentation/ref/index.rst
index fbf296647..8ef0d8e73 100644
--- a/Documentation/ref/index.rst
+++ b/Documentation/ref/index.rst
@@ -43,7 +43,6 @@ time:
    ovs-appctl.8
    ovs-ctl.8
    ovs-flowviz.8
-   ovs-l3ping.8
    ovs-pki.8
    ovs-sim.1
    ovs-tcpdump.8
diff --git a/Documentation/ref/ovs-l3ping.8.rst 
b/Documentation/ref/ovs-l3ping.8.rst
deleted file mode 100644
index f9c88fcd6..000000000
--- a/Documentation/ref/ovs-l3ping.8.rst
+++ /dev/null
@@ -1,129 +0,0 @@
-==========
-ovs-l3ping
-==========
-
-Synopsis
-========
-
-``ovs-l3ping -s <TunnelRemoteIP>,<InnerIP>[/<mask>] -t <tunnelmode>``
-
-``ovs-l3ping -s <TunnelRemoteIP>,<InnerIP>[/<mask>][:<ControlPort>] -t
-<tunnelmode>``
-
-``ovs-l3ping -c <TunnelRemoteIP>,<InnerIP>[/<mask>],<RemoteInnerIP> -t
-<tunnelmode>``
-
-``ovs-l3ping -c
-<TunnelRemoteIP>,<InnerIP>[/<mask>][:<ControlPort>[:<DataPort>]],<RemoteInnerIP>[:<ControlPort>[:<DataPort>]]
-[-b <targetbandwidth>] [-i <testinterval>]
--t <tunnelmode>``
-
-``ovs-l3ping -h | --help``
-
-``ovs-l3ping -V | --version``
-
-Description
-===========
-
-The ``ovs-l3ping`` 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
-``ovs-l3ping`` 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 ``ovs-l3ping``
-client will perform UDP and TCP tests.  This tool is different from
-``ovs-test`` that it encapsulates XML/RPC control connection over the
-tunnel, so there is no need to open special holes in firewall.
-
-UDP tests can report packet loss and achieved bandwidth for various
-datagram sizes. By default target bandwidth for UDP tests is 1Mbit/s.
-
-TCP tests report only achieved bandwidth, because kernel TCP stack
-takes care of flow control and packet loss.
-
-Client Mode
------------
-
-An ``ovs-l3ping`` client will create a L3 tunnel and connect over it
-to the ``ovs-l3ping`` server to schedule the tests.  <TunnelRemoteIP>
-is the peer's IP address, where tunnel will be terminated.  <InnerIP>
-is the address that will be temporarily assigned during testing.  All
-test traffic originating from this IP address to the <RemoteInnerIP>
-will be tunneled.  It is possible to override default <ControlPort>
-and <DataPort>, if there is any other application that already listens
-on those two ports.
-
-Server Mode
------------
-
-To conduct tests, ``ovs-l3ping`` server must be running.  It is
-required that both client and server <InnerIP> addresses are in the
-same subnet.  It is possible to specify <InnerIP> with netmask in CIDR
-format.
-
-Options
-=======
-
-One of ``-s`` or ``-c`` is required.  The ``-t`` option is
-also required.
-
-* ``-s <TunnelRemoteIP>,<InnerIP>[/<mask>][:<ControlPort>]`` or
-  ``--server <TunnelRemoteIP>,<InnerIP>[/<mask>][:<ControlPort>]``
-
-  Run in server mode and create L3 tunnel with the client that will be
-  accepting tunnel at <TunnelRemoteIP> address.  The socket on
-  ``<InnerIP>[:<ControlPort>]`` will be used to receive further
-  instructions from the client.
-
-* ``-c
-  
<TunnelRemoteIP>,<InnerIP>[/<mask>][:<ControlPort>[:<DataPort>]],<RemoteInnerIP>[:<ControlPort>[:<DataPort>]]``
-  or ``--client
-  
<TunnelRemoteIP>,<InnerIP>[/<mask>][:<ControlPort>[:<DataPort>]],<RemoteInnerIP>[:<ControlPort>[:<DataPort>]]``
-
-  Run in client mode and create L3 tunnel with the server on
-  <TunnelRemoteIP>.  The client will use <InnerIP> to generate test
-  traffic with the server's <RemoteInnerIP>.
-
-* ``-b <targetbandwidth>`` or ``--bandwidth <targetbandwidth>``
-
-  Target bandwidth for UDP tests. The <targetbandwidth> must be given
-  in bits per second.  Use postfix M or K to alter the target
-  bandwidth magnitude.
-
-* ``-i <testinterval>`` or ``--interval <testinterval>``
-
-  How long each test should run. By default 5 seconds.
-
-* ``-t <tunnelmode>`` or ``--tunnel-mode <tunnelmode>``
-
-  Specify the tunnel type. This option must match on server and
-  client.
-
-* ``-h`` or ``--help``
-
-  Prints a brief help message to the console.
-
-* ``-V`` or ``--version``
-
-  Prints version information to the console.
-
-Examples
-========
-
-On host 192.168.122.220 start ``ovs-l3ping`` 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::
-
-    ovs-l3ping -s 192.168.122.236,10.1.1.1/28 -t gre
-
-On host 192.168.122.236 start ``ovs-l3ping`` 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::
-
-    ovs-l3ping -c 192.168.122.220,10.1.1.2/28,10.1.1.1 -t gre
-
-See Also
-========
-
-``ovs-vswitchd(8)``, ``ovs-ofctl(8)``, ``ovs-vsctl(8)``,
-``ovs-vlan-test(8)``, ``ovs-test(8)``, ``ethtool(8)``, ``uname(1)``.
diff --git a/NEWS b/NEWS
index 1a3044cbf..6c89aeca5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,7 @@
 Post-v3.7.0
 --------------------
+   - Removed ovs-l3ping utility.  Standard tools like iperf are
+     preferred for performance testing.
    - Userspace datapath:
      * ARP/ND lookups for native tunnel are now rate limited. The holdout
        timer can be configured with 'tnl/neigh/retrans_time'.
diff --git a/debian/openvswitch-test.install b/debian/openvswitch-test.install
index dfc8ebf30..adde61b45 100644
--- a/debian/openvswitch-test.install
+++ b/debian/openvswitch-test.install
@@ -1,6 +1,4 @@
-usr/bin/ovs-l3ping
 usr/bin/ovs-test
-usr/share/man/man8/ovs-l3ping.8
 usr/share/man/man8/ovs-test.8
 usr/share/openvswitch/python/ovstest usr/lib/python3/dist-packages/
 usr/share/openvswitch/scripts/usdt/*
diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in
index 88bb734ad..7d2b8394f 100644
--- a/rhel/openvswitch-fedora.spec.in
+++ b/rhel/openvswitch-fedora.spec.in
@@ -420,14 +420,12 @@ fi
 %files test
 %{_bindir}/ovs-test
 %{_bindir}/ovs-vlan-test
-%{_bindir}/ovs-l3ping
 %{_bindir}/ovs-pcap
 %{_bindir}/ovs-tcpdump
 %{_bindir}/ovs-tcpundump
 %{_datadir}/openvswitch/scripts/usdt/*
 %{_mandir}/man8/ovs-test.8*
 %{_mandir}/man8/ovs-vlan-test.8*
-%{_mandir}/man8/ovs-l3ping.8*
 %{_mandir}/man1/ovs-pcap.1*
 %{_mandir}/man8/ovs-tcpdump.8*
 %{_mandir}/man1/ovs-tcpundump.1*
diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
index 6212729bc..ac234bd21 100644
--- a/rhel/openvswitch.spec.in
+++ b/rhel/openvswitch.spec.in
@@ -98,9 +98,7 @@ rm \
     $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
     $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
     $RPM_BUILD_ROOT/usr/bin/ovs-test \
-    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
-    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
-    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8
+    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8
 (cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
 (cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
 
diff --git a/utilities/.gitignore b/utilities/.gitignore
index 035ff386d..8d7cbb1b0 100644
--- a/utilities/.gitignore
+++ b/utilities/.gitignore
@@ -14,8 +14,6 @@
 /ovs-dpctl-top
 /ovs-dpctl-top.8
 /ovs-kmod-ctl
-/ovs-l3ping
-/ovs-l3ping.8
 /ovs-lib
 /ovs-ofctl
 /ovs-ofctl.8
diff --git a/utilities/automake.mk b/utilities/automake.mk
index 45fcdff2c..560cfd12d 100644
--- a/utilities/automake.mk
+++ b/utilities/automake.mk
@@ -10,7 +10,6 @@ bin_SCRIPTS += utilities/ovs-docker \
        utilities/ovs-tcpdump \
        utilities/ovs-tcpundump \
        utilities/ovs-dpctl-top \
-       utilities/ovs-l3ping \
        utilities/ovs-test \
        utilities/ovs-vlan-test
 scripts_SCRIPTS += \
@@ -52,7 +51,6 @@ EXTRA_DIST += \
        utilities/ovs-docker \
        utilities/ovs-dpctl-top.in \
        utilities/ovs-kmod-ctl.in \
-       utilities/ovs-l3ping.in \
        utilities/ovs-lib.in \
        utilities/ovs-pcap.in \
        utilities/ovs-pipegen.py \
@@ -97,7 +95,6 @@ CLEANFILES += \
        utilities/ovs-dpctl-top \
        utilities/ovs-dpctl-top.8 \
        utilities/ovs-kmod-ctl \
-       utilities/ovs-l3ping \
        utilities/ovs-lib \
        utilities/ovs-ofctl.8 \
        utilities/ovs-pcap \
diff --git a/utilities/ovs-l3ping.in b/utilities/ovs-l3ping.in
deleted file mode 100644
index 1ece06457..000000000
--- a/utilities/ovs-l3ping.in
+++ /dev/null
@@ -1,76 +0,0 @@
-#! @PYTHON3@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""
-ovs L3 ping utility allows to do tests between two remote hosts without
-opening holes in the firewall for the XML RPC control connection.  This is
-achieved by tunneling the control connection inside the tunnel itself.
-"""
-
-import socket
-import xmlrpc.client
-
-import ovstest.args as args
-import ovstest.tests as tests
-import ovstest.util as util
-
-
-def get_packet_sizes(me, he, remote_ip):
-    """
-    This function retrieves MTUs from both hosts and returns a list of
-    packet sizes, that are more likely to uncover possible configuration
-    issues.
-    """
-    mtu_node1 = 1500
-    mtu_node2 = 1500
-    server1 = util.rpc_client(me[0], me[1])
-    server2 = util.rpc_client(he[0], he[1])
-    iface1 = server2.get_interface(remote_ip)
-    iface2 = server1.get_interface_from_routing_decision(remote_ip)
-    if iface1:
-        mtu_node1 = server2.get_interface_mtu(iface1)
-    if iface2:
-        mtu_node2 = server1.get_interface_mtu(iface2)
-    return util.get_datagram_sizes(mtu_node1, mtu_node2)
-
-
-if __name__ == '__main__':
-    local_server = None
-    try:
-        args = args.l3_initialize_args()
-        tunnel_mode = args.tunnelMode
-        if args.server is not None:  # Start in server mode
-            local_server = tests.configure_l3(args.server, tunnel_mode)
-            local_server.wait()
-        elif args.client is not None:  # Run in client mode
-            bandwidth = args.targetBandwidth
-            interval = args.testInterval
-            me = (util.ip_from_cidr(args.client[1][0]), args.client[1][1],
-                  args.client[1][0], args.client[1][2])
-            he = (args.client[2][0], args.client[2][1],
-                  args.client[2][0], args.client[2][2])
-            local_server = tests. configure_l3(args.client, tunnel_mode)
-            ps = get_packet_sizes(me, he, args.client[0])
-            tests.do_direct_tests(me, he, bandwidth, interval, ps)
-    except KeyboardInterrupt:
-        print("Terminating")
-    except xmlrpc.client.Fault:
-        print("Couldn't contact peer")
-    except socket.error:
-        print("Couldn't contact peer")
-    except xmlrpc.client.ProtocolError:
-        print("XMLRPC control channel was abruptly terminated")
-    finally:
-        if local_server is not None:
-            local_server.terminate()
-- 
2.54.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to