概要
DPDKを利用したアプリのdockerイメージを別マシンで動かした場合に、変な異常終了が発生したときの覚え書きです。
アプリをnativeオプションでビルドしていたので、それを外せばOKかと思ったのですが、DPDKも標準でnativeビルドされるので、そっちも対応する必要がありました。
手順
64bit環境でgccを使ってビルドする場合のやり方です。他の環境でも、コピーするファイルを変えたりすれば対応できると思います。
- DPDKのソースを展開する。
-
config
配下のdefconfig_x86_64-native-linuxapp-gcc
をdefconfig_x86_64-default-linuxapp-gcc
としてコピーする。 -
defconfig_x86_64-default-linuxapp-gcc
のCONFIG_RTE_MACHINE
をnative
からdefault
に変更する。 - DPDKのビルドの際の
make
コマンドのパラメータをT=x86_64-default-linuxapp-gcc
とする。
簡単ですが、以上となります。
ちなみに上記の手順でビルドした場合は、gcc
のオプションが-march=core2
になるようです。
defconfig_x86_64-native-linuxapp-gcc
ファイルをコピーせず、直接中身を CONFIG_RTE_MACHINE=default
に変更してもよさそうです。( T=x86_64-native-linuxapp-gcc
になります。)