selftests: net: add PF_PACKET TPACKET v1/v2/v3 selftests
authorDaniel Borkmann <dborkman@redhat.com>
Tue, 2 Apr 2013 13:00:51 +0000 (13:00 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 7 Apr 2013 21:02:24 +0000 (17:02 -0400)
commit23a9544206dd91dfe048fcf67abec3f3104c42b9
tree144beb514dd0a62c106732a403061f8dc7791508
parent9dcc71e1fdbb7aa10d92a3d35e8a201adc84abd0
selftests: net: add PF_PACKET TPACKET v1/v2/v3 selftests

This patch adds a simple test case that probes the packet socket's
TPACKET_V1, TPACKET_V2 and TPACKET_V3 behavior regarding mmap(2)'ed
I/O for a small burst of 100 packets. The test currently runs for ...

  TPACKET_V1: RX_RING, TX_RING
  TPACKET_V2: RX_RING, TX_RING
  TPACKET_V3: RX_RING

... and will output on success:

  test: TPACKET_V1 with PACKET_RX_RING .................... 100 pkts (9600 bytes)
  test: TPACKET_V1 with PACKET_TX_RING .................... 100 pkts (9600 bytes)
  test: TPACKET_V2 with PACKET_RX_RING .................... 100 pkts (9600 bytes)
  test: TPACKET_V2 with PACKET_TX_RING .................... 100 pkts (9600 bytes)
  test: TPACKET_V3 with PACKET_RX_RING .................... 100 pkts (9600 bytes)
  OK. All tests passed

Reusable parts of psock_fanout.c have been put into a psock_lib.h
file for common usage. Test case successfully tested on x86_64.

Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/Makefile
tools/testing/selftests/net/psock_fanout.c
tools/testing/selftests/net/psock_lib.h [new file with mode: 0644]
tools/testing/selftests/net/psock_tpacket.c [new file with mode: 0644]
tools/testing/selftests/net/run_afpackettests