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:
parent
5074e1d551
commit
6a44b59c45
25
examples/pipeline/examples/l2fwd.cli
Normal file
25
examples/pipeline/examples/l2fwd.cli
Normal 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
|
42
examples/pipeline/examples/l2fwd.spec
Normal file
42
examples/pipeline/examples/l2fwd.spec
Normal 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
|
||||
}
|
20
examples/pipeline/examples/l2fwd_pcap.cli
Normal file
20
examples/pipeline/examples/l2fwd_pcap.cli
Normal 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
|
102
examples/pipeline/examples/packet.txt
Normal file
102
examples/pipeline/examples/packet.txt
Normal 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
|
Loading…
Reference in New Issue
Block a user