@@ -65,7 +65,6 @@ simple_mp=target/examples/dpdk-simple_mp
symmetric_mp=target/examples/dpdk-symmetric_mp
cmdline=target/examples/dpdk-cmdline
distributor=target/examples/dpdk-distributor
-netmap_compat=target/examples/dpdk-netmap_compat
node=target/examples/dpdk-efd_node
server=target/examples/dpdk-efd_server
testpmd_vf=target/app/dpdk-testpmd-vf
@@ -276,7 +276,6 @@ The following are the test plans for the DPDK DTS automated test system.
hello_world_test_plan
keep_alive_test_plan
multiprocess_test_plan
- netmap_compat_test_plan
rxtx_callbacks_test_plan
skeleton_test_plan
timer_test_plan
deleted file mode 100644
@@ -1,104 +0,0 @@
-.. Copyright (c) <2010-2017>, Intel Corporation
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of Intel Corporation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGE.
-
-==============================================
-Sample Application Tests: Netmap Compatibility
-==============================================
-
-Introduction
-============
-
-The Netmap compatibility library provides a minimal set of APIs to give programs written against the Netmap APIs
-the ability to be run, with minimal changes to their source code, using the DPDK to perform the actual packet I/O.
-
-Since Netmap applications use regular system calls, like ``open()``, ``ioctl()`` and
-``mmap()`` to communicate with the Netmap kernel module performing the packet I/O,
-the ``compat_netmap`` library provides a set of similar APIs to use in place of those system calls,
-effectively turning a Netmap application into a DPDK application.
-
-The provided library is currently minimal and doesn't support all the features that Netmap supports,
-but is enough to run simple applications, such as the bridge example detailed below.
-
-Knowledge of Netmap is required to understand the rest of this section.
-Please refer to the Netmap distribution for details about Netmap.
-
-Running the "bridge" Sample Application
-=======================================
-
-The application requires a single command line option::
-
- ./build/bridge [EAL options] -- -i INTERFACE_A [-i INTERFACE_B]
-
-Where:
-
-* ``-i INTERFACE``: Interface (DPDK port number) to use.
-
- If a single ``-i`` parameter is given, the interface will send back all the traffic it receives.
- If two ``-i`` parameters are given, the two interfaces form a bridge,
- where traffic received on one interface is replicated and sent to the other interface.
-
-For example, to run the application in a linuxapp environment using port 0 and 2::
-
- ./build/bridge [EAL options] -- -i 0 -i 2
-
-Refer to the *DPDK Getting Started Guide for Linux* for general information on running applications and
-the Environment Abstraction Layer (EAL) options.
-
-Test Case1: netmap compat with one port
-=======================================
-Run bridge with one port::
-
- ./examples/netmap_compat/build/bridge -c 0x1e -n 4 -- -i 0
-
-waked up::
-
- Port 0 now in Netmap mode
- Bridge up and running!
-
-Send one packet on Port0,check this port receive packet.
-It receive one packet that it send.
-
-Test Case2: netmap compat with two port
-=======================================
-
-Run bridge with two ports::
-
- ./examples/netmap_compat/build/bridge -c 0x1e -n 4 -- -i 0 -i 1
-
-waked up::
-
- Port 0 now in Netmap mode
- Port 1 now in Netmap mode
- Bridge up and running!
-
-Send one packet on Port0,check the port1 receive packet.
-It receive one packet that the port0 send.
deleted file mode 100644
@@ -1,136 +0,0 @@
-#BSD LICENSE
-#
-# Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Intel Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-"""
-DPDK Test suite.
-Test Netmap_compat.
-"""
-
-import utils
-import string
-import time
-import re
-from test_case import TestCase
-
-class TestNetmapCompat(TestCase):
-
- def set_up_all(self):
- """
- Run at the start of each test suite.
- """
- self.dut_ports = self.dut.get_ports(self.nic)
- self.verify(len(self.dut_ports) >= 2, "Insufficient ports")
- cores = self.dut.get_core_list("1S/4C/1T")
- self.coremask = utils.create_mask(cores)
-
- self.path = "./examples/netmap_compat/build/bridge"
-
- # build sample app
- out = self.dut.build_dpdk_apps("./examples/netmap_compat")
- self.verify("Error" not in out, "compilation error 1")
- self.verify("No such file" not in out, "compilation error 2")
-
- def set_up(self):
- """
- Run before each test case.
- """
- pass
-
- def test_netmap_compat_oneport(self):
- """
- Verify netmap compatibility with one port
- """
- cmd = self.path + " -c %s -n %d -- -i %s" % (self.coremask,self.dut.get_memory_channels(),self.dut_ports[0])
-
- #start netmap_compat with one port
- self.dut.send_expect(cmd,"Port %s now in Netmap mode" % self.dut_ports[0],60)
-
- self.rxItf = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0]))
-
- self.inst = self.tester.tcpdump_sniff_packets(self.rxItf)
-
- self.scapy_send_packet()
-
- out = self.get_tcpdump_package()
- mac = self.dut.get_mac_address(self.dut_ports[0])
- self.verify(mac in out, "Wrong: can't get <%s> package" % mac)
-
- def test_netmap_compat_twoport(self):
- """
- Verify netmap compatibility with two port
- """
- cmd = self.path + " -c %s -n %d -- -i %s -i %s" % (self.coremask,self.dut.get_memory_channels(),self.dut_ports[0],self.dut_ports[1])
-
- #start netmap_compat with two port
- self.dut.send_expect(cmd,"Port %s now in Netmap mode" % self.dut_ports[0], 60)
-
- self.rxItf = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[1]))
- self.inst = self.tester.tcpdump_sniff_packets(self.rxItf)
-
- self.scapy_send_packet()
-
- out = self.get_tcpdump_package()
- mac = self.dut.get_mac_address(self.dut_ports[0])
- self.verify(mac in out, "Wrong: can't get <%s> package" % mac)
- def scapy_send_packet(self):
- """
- Send a packet to port
- """
- txport = self.tester.get_local_port(self.dut_ports[0])
- mac = self.dut.get_mac_address(self.dut_ports[0])
- txItf = self.tester.get_interface(txport)
- self.tester.scapy_append('sendp([Ether(dst="%s")/IP()/UDP()/Raw(\'X\'*18)], iface="%s", count=4)' % (mac, txItf))
- self.tester.scapy_execute()
-
-
- def get_tcpdump_package(self):
- pkts = self.tester.load_tcpdump_sniff_packets(self.inst)
- dsts = []
- for i in range(len(pkts)):
- dst = pkts.strip_element_layer2("dst", p_index=i)
- dsts.append(dst)
- return dsts
-
- def tear_down(self):
- """
- Run after each test case.
- """
- self.dut.kill_all()
- time.sleep(2)
- pass
-
- def tear_down_all(self):
- """
- Run after each test suite.
- """
- pass
-