dpdk_18_05 应用笔记: ip_pipeline 例程
查询网卡的 pci 地址
使用 lspci
查询网卡的 pci 地址。该地址由于后续脚本设置来指定网卡。
lspci | grep Eth
> 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
> 01:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
> 01:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
> 01:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
ip_pipeline 的编译
情况1. 编译的时候没有网卡的驱动。(使用,后续都是以这个为例子)
EXTRA_CFLAGS="-O0 -g3" make
情况1. 编译的时候加上网卡的驱动。(暂不使用)
I350 使用的是 librte_pmd_e1000.so
的驱动。
EXTRA_CFLAGS="-O0 -g3 -lrte_pmd_e1000" make
ip_pipeline/l2fwd 例程
网络拓扑
在 l2fwd 的脚本 l2fwd.cli
中,是配置了 LINK0 和 LINK1 相互转发,LINK2 和 LINK3 相互转发的。
; port in 0: LINK0.rxq0
pipeline PIPELINE0 port in bsz 32 link LINK0 rxq 0
; port in 1: LINK1.rxq0
pipeline PIPELINE0 port in bsz 32 link LINK1 rxq 0
; port in 2: LINK2.rxq0
pipeline PIPELINE0 port in bsz 32 link LINK2 rxq 0
; port in 3: LINK3.rxq0
pipeline PIPELINE0 port in bsz 32 link LINK3 rxq 0
; port out 0: LINK0.txq0
pipeline PIPELINE0 port out bsz 32 link LINK0 txq 0
; port out 1: LINK1.txq0
pipeline PIPELINE0 port out bsz 32 link LINK1 txq 0
; port out 2: LINK2.txq0
pipeline PIPELINE0 port out bsz 32 link LINK2 txq 0
; port out 3: LINK3.txq0
pipeline PIPELINE0 port out bsz 32 link LINK3 txq 0
; create table
pipeline PIPELINE0 table match stub
pipeline PIPELINE0 table match stub
pipeline PIPELINE0 table match stub
pipeline PIPELINE0 table match stub
; link up port in and table
pipeline PIPELINE0 port in 0 table 0
pipeline PIPELINE0 port in 1 table 1
pipeline PIPELINE0 port in 2 table 2
pipeline PIPELINE0 port in 3 table 3
thread 1 pipeline PIPELINE0 enable
; se