VPP VCL API

VPP の VCL API を使用すると、アプリケーションを変更することなく、VPP 経由でネットワークにアクセスできます。

この実験では、仮想マシンのネットワーク カードがホーム ネットワークにブリッジされ、VPP がネットワーク カードを引き継ぎ、dhcp クライアントを開いてルーターによって割り当てられた IP を取得します。

スタートアップ.conf

unix { 
	interactive 
	cli-listen /run/vpp/cli.sock 
	gid 0 
	startup-config ./init_cli
}
dpdk { 
	dev 0000:0b:00.0{
		name eth1
	}
}
 
api-trace {
  on
}
 
socksvr {
  default
}
 
cpu {
	main-core 1
	corelist-workers 2,3
}
 
buffers {
        buffers-per-numa 128000
}
 
plugins { 
	plugin oddbuf_plugin.so { enable } 
}

init_cli

set interface state eth1 up
set dhcp client intfc eth1

VPPを開始する

必ずIPアドレスを取得してください

新しいターミナルを開いて環境変数を構成します

export VCL_CONFIG=/root/vpp/vpp_learn/vcl.conf
export LD_PRELOAD=/root/vpp/vpp_learn/build-root/build-vpp_debug-native/vpp/lib/x86_64-linux-gnu/libvcl_ldpreload.so

 wgetを実行する

私が使用している VCL API のバージョンにはまだ互換性の問題が多く、ping を実行すると VPP がクラッシュし、curl を実行するとスタックしてドメイン名を解決できません。wget、ssh、iperf はすべて正常に動作します。

おすすめ

転載: blog.csdn.net/wjmasd/article/details/131214100