lagopus+pcap pmd suppriment
DESCRIPTION
Lagopus Day #2 Yokohamaのあと、ついかTRANSCRIPT
![Page 1: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/1.jpg)
Lagopus+PCAP PMDSupprimentSep 29, 2014Masaru OKI@[email protected]
![Page 2: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/2.jpg)
PCAP PMDの何が嬉しいか
● VXLANなど仮想L2 I/FをDPDKアプリで使える● 物理I/Fを指定してもいい● Intel NICでなくても動作する(!)● 仮想L2 I/Fを使えば物理線は1本で済む● ただしLagopusで使うには修正が必要(1.7.0)
○ http://pastebin.com/xVsLcKHu
![Page 3: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/3.jpg)
前回のあらすじ
● Lagopus Day #2 YokohamaでLT○ Lagopus+PCAP PMD○ VXLANを3本張って、DPDKのPortに見せて
Lagopusで通信させようとした○ やることはスライドでまとめていた○ 前日夜に思い付き、会場でぶっつけ本番○ 結果、2マシン間でVXLANでの疎通確認が取れなかった○ PCAP PMD以前の問題で実験は失敗○ いろいろ機材を持って行ったのに動かせず残念
![Page 4: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/4.jpg)
もういっかい!
● UbuntuどうしをつないでVXLANが張れるか?● 張れたら、利用ポート等調査● 当初の予定に従いLagopusを動かしてみる● Ryuテストの結果に差異があれば、調べる
![Page 5: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/5.jpg)
Ubuntu 14.04LTSどうしでVXLAN
● つながりました (よかった)○ sudo ip link add vxlan0 type vxlan id 0 remote 相手アドレス○ sudo ip addr 172.21.0.X/24 dev vxlan0○ sudo ip set up vxlan0
● Port 8472を使用 (tcpdumpでチェックした)● multicastは直結だと使えない?● Fedora-Ubuntuでの失敗の原因
○ Portの食い違い、multicastでつながると思っていた○ それぞれ試したが、両方の組み合わせはやらなかった
![Page 6: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/6.jpg)
PCAP PMDを使ってLagopus
動いた!
VXLAN接続でのryu tester.pyの結果 (0.1.1)OK (953) / ERROR (38)物理配線での結果と比べると若干エラーが多い
![Page 7: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/7.jpg)
テストエラーの内訳
物理線での結果と違うもののみピックアップ
● PUSH_VLAN (multiple)● POP_PBB● set-field PBB_ISID● match: PBB_ISID● match: PBB_ISID (mask)
![Page 8: Lagopus+pcap pmd suppriment](https://reader037.vdocuments.site/reader037/viewer/2022100602/5585d773d8b42a87608b4648/html5/thumbnails/8.jpg)
PCAP PMDで発生するエラーの原因
● libpcapのworkaroundの限界○ LinuxではPF_PACKETを使ってパケットを読み書きする○ PF_PACKETはVLAN情報をメタデータに格納する○ が、VLANのTPID情報は取り出せない仕様○ 常に0x8100と仮定してパケットを組み立てなおす○ 結果、QinQ(0x88a8)やPBB(0x88e7)で失敗する
● PCAP PMDでは不可避● 最新LinuxカーネルではVLAN TPIDをとりだせる● libpcapの対応(パッチのマージ)待ち