libmemif: add testing application 84/36484/4
authorMohsin Kazmi <sykazmi@cisco.com>
Wed, 22 Jun 2022 12:25:51 +0000 (12:25 +0000)
committerBeno�t Ganne <bganne@cisco.com>
Tue, 30 May 2023 09:01:53 +0000 (09:01 +0000)
commit7280e3f866727813a706c3ac10ffbea3949ebf08
tree8fc13438e70cfdf2404a4401b3f88fc22e35718e
parent0c1454c1f3abfdbcf9ceb9cdbd4e3596a94d6a0f
libmemif: add testing application

Type: test

This application creates two memif interfaces which connect
to an external application i.e. VPP.

Usage:
1) Start VPP with following config.
create interface memif id 0 master
create interface memif id 1 master
set int state memif0/0 up
set int state memif0/1 up
create packet-generator interface pg0
set int state pg0 up
create packet-generator interface pg1
set int state pg1 up

set int l2 xconn pg0 memif0/0
set int l2 xconn memif0/0 pg0
set int l2 xconn pg1 memif0/1
set int l2 xconn memif0/1 pg1

packet-generator new { \
  name memif           \
  limit -1             \
  node ethernet-input  \
  size 64-64           \
  interface pg0        \
  worker 0             \
  data {               \
    IP4: 42:01:0a:00:00:0a -> 02:fe:4b:6e:4d:c1 \
    UDP: 172.16.2.2 -> 172.16.0.2               \
    UDP: 1234 -> 1234                           \
      length 30 checksum 0 incrementing 1       \
  }                                             \
}

2) Compile and Run the test_app in another terminal.
mkdir -p extras/libmemif/build
cd extras/libmemif/build
cmake ..
make
sudo ./examples/test_app

3) Run in VPP cli
vpp# packet enable

4) Run monitor to see the throughput and pps
vpp# monitor interface memif0/0
Or
vpp# monitor interface memif0/1

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I4b9062fca8ad3020225adb7b1b09e5d66b1a7d48
extras/libmemif/examples/CMakeLists.txt
extras/libmemif/examples/common/common.h
extras/libmemif/examples/test_app/main.c [new file with mode: 0644]