lagopus+pcap pmd suppriment

8

Click here to load reader

Upload: masaru-oki

Post on 21-Jun-2015

514 views

Category:

Technology


0 download

DESCRIPTION

Lagopus Day #2 Yokohamaのあと、ついか

TRANSCRIPT

Page 1: Lagopus+pcap pmd suppriment

Lagopus+PCAP PMDSupprimentSep 29, 2014Masaru OKI@[email protected]

Page 2: Lagopus+pcap pmd suppriment

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

前回のあらすじ

● Lagopus Day #2 YokohamaでLT○ Lagopus+PCAP PMD○ VXLANを3本張って、DPDKのPortに見せて

Lagopusで通信させようとした○ やることはスライドでまとめていた○ 前日夜に思い付き、会場でぶっつけ本番○ 結果、2マシン間でVXLANでの疎通確認が取れなかった○ PCAP PMD以前の問題で実験は失敗○ いろいろ機材を持って行ったのに動かせず残念

Page 4: Lagopus+pcap pmd suppriment

もういっかい!

● UbuntuどうしをつないでVXLANが張れるか?● 張れたら、利用ポート等調査● 当初の予定に従いLagopusを動かしてみる● Ryuテストの結果に差異があれば、調べる

Page 5: Lagopus+pcap pmd suppriment

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

PCAP PMDを使ってLagopus

動いた!

VXLAN接続でのryu tester.pyの結果 (0.1.1)OK (953) / ERROR (38)物理配線での結果と比べると若干エラーが多い

Page 7: Lagopus+pcap pmd suppriment

テストエラーの内訳

物理線での結果と違うもののみピックアップ

● PUSH_VLAN (multiple)● POP_PBB● set-field PBB_ISID● match: PBB_ISID● match: PBB_ISID (mask)

Page 8: Lagopus+pcap pmd suppriment

PCAP PMDで発生するエラーの原因

● libpcapのworkaroundの限界○ LinuxではPF_PACKETを使ってパケットを読み書きする○ PF_PACKETはVLAN情報をメタデータに格納する○ が、VLANのTPID情報は取り出せない仕様○ 常に0x8100と仮定してパケットを組み立てなおす○ 結果、QinQ(0x88a8)やPBB(0x88e7)で失敗する

● PCAP PMDでは不可避● 最新LinuxカーネルではVLAN TPIDをとりだせる● libpcapの対応(パッチのマージ)待ち