Go to file
Ivan Boule 168dfa6166 app/testpmd: add engine that replies to ARP and ICMP echo requests
Add a new specific packet processing engine in the "testpmd" application that
only replies to ARP requests and to ICMP echo requests.
For this purpose, a new "icmpecho" forwarding mode is provided that can be
dynamically selected with the following testpmd command:

    set fwd icmpecho

before starting the receipt of packets on the selected ports.

Then, the "icmpecho" engine performs the following actions on all received
packets:

- replies to a received ARP request by sending back on the RX port a ARP
  reply with a "sender hardware address" field containing the MAC address
  of the RX port,

- replies to a ICMP echo request by sending back on the RX port a ICMP echo
  reply, swapping the IP source and the IP destination address in the IP
  header,

- otherwise, simply drops the received packet.

When replying to a received packet that was encapsulated into a VLAN tunnel,
the reply is sent back with the same VLAN identifier.
By default, the testpmd configures VLAN header stripping RX option on each
port.
This option is not managed by the icmpecho engine which won't detect
packets that were encapsulated into a VLAN.
To address this issue, the VLAN header stripping option must be previously
switched off with the following testpmd command:

    vlan set strip off

When the "verbose" mode has been set with the testpmd command
"set verbose 1", the "icmpecho" engine displays informations about each
received packet.

The "icmpecho" forwarding engine can also be used to simply check port
connectivity at the hardware level (check that cables are well-plugged)
and at the software level (receipt of VLAN packets, for instance).

Signed-off-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-05-16 13:25:16 +02:00
app app/testpmd: add engine that replies to ARP and ICMP echo requests 2014-05-16 13:25:16 +02:00
config kvargs: add a new library to parse key/value arguments 2014-02-26 11:01:13 +01:00
doc devargs: add in doc 2014-04-10 16:16:57 +02:00
examples examples/netmap_compat: import netmap compatibility example 2014-02-26 10:47:59 +01:00
lib app/testpmd: add engine that replies to ARP and ICMP echo requests 2014-05-16 13:25:16 +02:00
mk version: 1.7.0-rc0 2014-05-13 10:11:17 +02:00
pkg version: 1.6.0r2 2014-05-01 22:58:21 +02:00
scripts update Intel copyright years to 2014 2014-02-25 21:29:14 +01:00
tools tools: rename pci_unbind script 2014-03-20 17:50:51 +01:00
.gitignore init DPDK repository 2013-03-07 10:57:42 +01:00
GNUmakefile add FreeBSD support 2014-02-25 21:29:18 +01:00
LICENSE.GPL doc: GPL/LGPL licenses 2013-07-25 14:43:06 +02:00
LICENSE.LGPL doc: fix file format (dos to unix) 2013-09-06 11:43:07 +02:00
Makefile add FreeBSD support 2014-02-25 21:29:18 +01:00