examples/pipeline: add l2fwd example

Add L2 Forwarding example to the SWX pipeline application. Example
command line: ./build/pipeline -l0-1 -- -s ./examples/l2fwd.cli

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
This commit is contained in:
Cristian Dumitrescu 2020-10-01 11:20:07 +01:00 committed by David Marchand
parent 5074e1d551
commit 6a44b59c45
4 changed files with 189 additions and 0 deletions

View File

@ -0,0 +1,25 @@
; SPDX-License-Identifier: BSD-3-Clause
; Copyright(c) 2020 Intel Corporation
mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0
link LINK0 dev 0000:18:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on
link LINK1 dev 0000:18:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on
link LINK2 dev 0000:3b:00.0 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on
link LINK3 dev 0000:3b:00.1 rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on
pipeline PIPELINE0 create 0
pipeline PIPELINE0 port in 0 link LINK0 rxq 0 bsz 32
pipeline PIPELINE0 port in 1 link LINK1 rxq 0 bsz 32
pipeline PIPELINE0 port in 2 link LINK2 rxq 0 bsz 32
pipeline PIPELINE0 port in 3 link LINK3 rxq 0 bsz 32
pipeline PIPELINE0 port out 0 link LINK0 txq 0 bsz 32
pipeline PIPELINE0 port out 1 link LINK1 txq 0 bsz 32
pipeline PIPELINE0 port out 2 link LINK2 txq 0 bsz 32
pipeline PIPELINE0 port out 3 link LINK3 txq 0 bsz 32
pipeline PIPELINE0 build ./examples/pipeline/examples/l2fwd.spec
thread 1 pipeline PIPELINE0 enable

View File

@ -0,0 +1,42 @@
; SPDX-License-Identifier: BSD-3-Clause
; Copyright(c) 2020 Intel Corporation
//
// Meta-data.
//
struct metadata_t {
bit<32> port_in
bit<32> port_out
}
metadata instanceof metadata_t
//
// Actions.
//
action NoAction args none {
return
}
//
// Tables.
//
table stub {
key {
}
actions {
NoAction
}
default_action NoAction args none const
}
//
// Pipeline.
//
apply {
rx m.port_in
table stub
tx m.port_in
}

View File

@ -0,0 +1,20 @@
; SPDX-License-Identifier: BSD-3-Clause
; Copyright(c) 2020 Intel Corporation
mempool MEMPOOL0 buffer 2304 pool 32K cache 256 cpu 0
pipeline PIPELINE0 create 0
pipeline PIPELINE0 port in 0 source MEMPOOL0 ./examples/packet.pcap
pipeline PIPELINE0 port in 1 source MEMPOOL0 ./examples/packet.pcap
pipeline PIPELINE0 port in 2 source MEMPOOL0 ./examples/packet.pcap
pipeline PIPELINE0 port in 3 source MEMPOOL0 ./examples/packet.pcap
pipeline PIPELINE0 port out 0 sink none
pipeline PIPELINE0 port out 1 sink none
pipeline PIPELINE0 port out 2 sink none
pipeline PIPELINE0 port out 3 sink none
pipeline PIPELINE0 build ./examples/l2fwd.spec
thread 1 pipeline PIPELINE0 enable

View File

@ -0,0 +1,102 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2020 Intel Corporation
#
#Text to PCAP: text2pcap packet.txt packet.pcap
#PCAP to text: tcpdump -r packet.pcap -xx
#Packet 0
000000 aa bb cc dd 00 00 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 1
000000 aa bb cc dd 00 01 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 2
000000 aa bb cc dd 00 02 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 3
000000 aa bb cc dd 00 03 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 4
000000 aa bb cc dd 00 04 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 5
000000 aa bb cc dd 00 05 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 6
000000 aa bb cc dd 00 06 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 7
000000 aa bb cc dd 00 07 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 8
000000 aa bb cc dd 00 08 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 9
000000 aa bb cc dd 00 09 b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 10
000000 aa bb cc dd 00 0a b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 11
000000 aa bb cc dd 00 0b b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 12
000000 aa bb cc dd 00 0c b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 13
000000 aa bb cc dd 00 0d b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 14
000000 aa bb cc dd 00 0e b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11
#Packet 15
000000 aa bb cc dd 00 0f b0 b1 b2 b3 b4 b5 08 00 45 00
000010 00 2e 00 00 00 00 40 11 00 00 c0 c1 c2 c3 d0 d1
000020 d2 d3 e0 e1 f0 f1 00 1a 00 00 00 01 02 03 04 05
000030 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11