Suche senden
Hochladen
Lagopus as open flow hybrid switch
•
3 gefällt mir
•
1,828 views
Masaru Oki
Folgen
Using Lagiopus software switch DPDK version with Linux ip command. (In Japanese)
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 10
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Ryu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみよう
Masaru Oki
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
Lagopus performance
Lagopus performance
Masaru Oki
Lagopus どれだけ速いのか
Lagopus どれだけ速いのか
Masaru Oki
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
Open stack+lagopus できるかな
Open stack+lagopus できるかな
Masaru Oki
Empfohlen
Ryu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみよう
Masaru Oki
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
Lagopus performance
Lagopus performance
Masaru Oki
Lagopus どれだけ速いのか
Lagopus どれだけ速いのか
Masaru Oki
LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
Open stack+lagopus できるかな
Open stack+lagopus できるかな
Masaru Oki
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
Masaru Oki
Lagopusとvagrant
Lagopusとvagrant
Masaru Oki
Lagopus 0.2
Lagopus 0.2
Masaru Oki
Lagopus 0.2.2
Lagopus 0.2.2
Masaru Oki
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
Masaru Oki
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
kazuyas
hpingで作るパケット
hpingで作るパケット
Takaaki Hoyo
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
slankdev
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
hiroshi oshiba
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
the study of monit
the study of monit
Tadayasu Yotsu
仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet
Akira Yokokawa
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
yuki-f
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
Masaru Oki
about Tcpreplay
about Tcpreplay
@ otsuka752
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
Akira Yokokawa
Openflow実験
Openflow実験
Yahoo!デベロッパーネットワーク
2013 summercamp 06
2013 summercamp 06
openrtm
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
Masaru Oki
Lagopus 0.2.4
Lagopus 0.2.4
Masaru Oki
Weitere ähnliche Inhalte
Was ist angesagt?
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
Masaru Oki
Lagopusとvagrant
Lagopusとvagrant
Masaru Oki
Lagopus 0.2
Lagopus 0.2
Masaru Oki
Lagopus 0.2.2
Lagopus 0.2.2
Masaru Oki
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
Masaru Oki
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
kazuyas
hpingで作るパケット
hpingで作るパケット
Takaaki Hoyo
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
slankdev
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
hiroshi oshiba
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
Masaru Oki
the study of monit
the study of monit
Tadayasu Yotsu
仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet
Akira Yokokawa
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
yuki-f
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
Masaru Oki
about Tcpreplay
about Tcpreplay
@ otsuka752
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
Akira Yokokawa
Openflow実験
Openflow実験
Yahoo!デベロッパーネットワーク
2013 summercamp 06
2013 summercamp 06
openrtm
Was ist angesagt?
(20)
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
Lagopusとvagrant
Lagopusとvagrant
Lagopus 0.2
Lagopus 0.2
Lagopus 0.2.2
Lagopus 0.2.2
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
hpingで作るパケット
hpingで作るパケット
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Ryuの遊び方(pica8も併せてもっと楽しく)(2014/1/23修正版)
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
the study of monit
the study of monit
仮想ネットワークを実現するOpenVNet
仮想ネットワークを実現するOpenVNet
Status 425 HTTP/Tokyo
Status 425 HTTP/Tokyo
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
about Tcpreplay
about Tcpreplay
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
Openflow実験
Openflow実験
2013 summercamp 06
2013 summercamp 06
Andere mochten auch
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
Masaru Oki
Lagopus 0.2.4
Lagopus 0.2.4
Masaru Oki
GPD WINが来た!
GPD WINが来た!
Masaru Oki
Lagopus match improvements
Lagopus match improvements
Masaru Oki
Lagopus+pcap pmd
Lagopus+pcap pmd
Masaru Oki
Rumpを使ってみる
Rumpを使ってみる
Masaru Oki
Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
Cisco Openflow
Cisco Openflow
Vijayaguru Jayaram
Introduction to OpenFlow
Introduction to OpenFlow
Joel W. King
OpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワーク
M Hagiwara
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Masaru Oki
Lagopus 0.2.7
Lagopus 0.2.7
Masaru Oki
Ryu sdn framework
Ryu sdn framework
Isaku Yamahata
8 Colorful Ideas for My Country (Filipinization)
8 Colorful Ideas for My Country (Filipinization)
Jose Radin Garduque
Project and pitch in 10 min
Project and pitch in 10 min
WALID RAS
Site Kalu
Site Kalu
MustCriativa
Andere mochten auch
(17)
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
Lagopus 0.2.4
Lagopus 0.2.4
GPD WINが来た!
GPD WINが来た!
Lagopus match improvements
Lagopus match improvements
Lagopus+pcap pmd
Lagopus+pcap pmd
Rumpを使ってみる
Rumpを使ってみる
Onieで遊んでみようとした話
Onieで遊んでみようとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
Cisco Openflow
Cisco Openflow
Introduction to OpenFlow
Introduction to OpenFlow
OpenFlowで覚えるネットワーク
OpenFlowで覚えるネットワーク
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
Lagopus 0.2.7
Lagopus 0.2.7
Ryu sdn framework
Ryu sdn framework
8 Colorful Ideas for My Country (Filipinization)
8 Colorful Ideas for My Country (Filipinization)
Project and pitch in 10 min
Project and pitch in 10 min
Site Kalu
Site Kalu
Mehr von Masaru Oki
NetBSD移植の昔話
NetBSD移植の昔話
Masaru Oki
Rust-DPDK
Rust-DPDK
Masaru Oki
Rust-DPDK
Rust-DPDK
Masaru Oki
Running lagopus on Xeon D
Running lagopus on Xeon D
Masaru Oki
Using Xeon D 10GBase-T
Using Xeon D 10GBase-T
Masaru Oki
DPDK QoS
DPDK QoS
Masaru Oki
Xeon d
Xeon d
Masaru Oki
Mehr von Masaru Oki
(7)
NetBSD移植の昔話
NetBSD移植の昔話
Rust-DPDK
Rust-DPDK
Rust-DPDK
Rust-DPDK
Running lagopus on Xeon D
Running lagopus on Xeon D
Using Xeon D 10GBase-T
Using Xeon D 10GBase-T
DPDK QoS
DPDK QoS
Xeon d
Xeon d
Lagopus as open flow hybrid switch
1.
Lagopus as OpenFlow Hybrid
Switch Dec 8, 2015 Masaru OKI @masaru0714
2.
OpenFlow? ● 受信したパケットを、「フローエントリ」に書かれた条件に従って(エントリの指示によっ ては加工し)送信する、という一連の機能について定めた仕様 ● OpenFlowの機能を持ったスイッチをOpenFlow
switchと呼ぶ ● OpenFlow switchの制御にはOpenFlow Protocolが使われる OpenFlow switch Flow Table OpenFlow Controller OpenFlow Protocol Flow entry パケット
3.
Hybrid switch? ● OpenFlowスイッチと、いわゆる従来のパケット処理が組み合わさったもの ●
組み合わせ方についてはベンダー次第 ● OpenFlow仕様では、OFPP_NORMALにoutputすると従来の処理に渡される ● standaloneモードに設定されていれば、コントローラと未接続の時も従来の処理 ● いわゆる従来の処理とは: ブリッジ、ルーティング等 OpenFlow switch Legacy Protocol (bridge, router, …) 1 2 3 NORMAL
4.
Lagopus ● Intel DPDKを利用しマルチコア・マルチスレッドで動作するOpenFlowスイッチ。 ●
DPDKは、パケット送受信するNICをLinuxの制御下から奪い取って動作する。 ● よって、Lagopusでパケット送受信している様子をtcpdumpなどで観察できない。 ● ipコマンドを使ってlink up, downなどの操作もできない。 ● brctlなどでブリッジにDPDKポートを追加することもできない。 Linux kernel eth2 eth3 DPDK apps (i.e. Lagopus) NIC1 NIC2 NIC3 NIC4 port0 port1 eth0 eth1
5.
いわゆる従来の処理をどう用意するか まじめにブリッジ処理・ルーティング処理を実装する ● MACアドレス学習し、学習したポートへ転送 ● 学習されてないアドレス宛の場合flooding ●
ルーティングの場合ARP, ICMP, ルーティングテーブルなど多数の機能実装が必要 カーネルに任せる ● 丸投げ。
6.
第一段階: 丸投げの実装 ● /dev/net/tun
(OSによりパスが異なる)をopenしてioctlすればtapが作られる ● tapインタフェースにデータを書き込み→kernelからみるとパケット受信 ● kernelからパケット送信→tapインタフェースからデータを読める ● Lagopusが扱う(DPDK)ポートと1:1でtapインタフェースを作成 ● tapインタフェースをLinux bridgeにつなげばOFPP_NORMALのブリッジ完成 Linux kernel tap0 tap1 Lagopus NIC1 NIC2 port0 port1 eth0 eth1 Linux bridge
7.
tapの応用: ホワイトボックススイッチの方法 Cumulus Linuxでは、 ●
物理スイッチのポートに対応するダミーのインタフェースを用意しておく ● ダミーのインタフェースに対してipコマンドを使用すると、 switchdがそれを検知して、物理スイッチのポートに対して設定を行う これと似たようなことができるのではないだろうか? Linux kernel eth2 eth3 switchd port0 port1 port2 port3 eth0 eth1 Switch ASIC 2.検知ipコマンド 1.設定 3.設定
8.
同様の手段がとれるか考えてみる ● Lagopus interfaceと1:1対応のtap
interfaceを用意する ● netlink socketを使ってtap interfaceに対する操作を監視 ● tap interfaceがlink downされたらLagopus interfaceをdown ● tap interfaceがlink upされたらLagopus interfaceをup 実現できそう? Linux kernel tap0 tap1 Lagopus NIC1 NIC2 port0 port1 eth0 eth1 ipコマンド 1.設定 2.検知 3.設定
9.
第二段階: 自前のL2bridge実装 ● tapを用意せずともブリッジ動作が実現できる ●
が、tapはtapで利用価値がある ● 全パケットをtapにコピーして送るとtcpdumpできる ○ コピーは重いので、リファレンスカウントを +1する ● MACやIPアドレスからkernelが取捨選択して適宜通信できる Linux kernel tap0 tap1 Lagopus NIC1 NIC2 port0 port1 eth0 eth1 転送 tcpdumpなど 転送
10.
実装状況 ● tapインタフェースの作成: 完了 ●
tapインタフェースを使ったパケットの送受信: 完了 ○ lagopusを経由してpingがとおります ● 自前L2bridge: 動き始めている TODO ● netlinkを使ったtapインタフェース操作の監視とLagopusへの動作反映: これから ● tapについてLinux以外ではまだ実装できていない ● 転送性能も未確認 近日リリース予定……です!
Jetzt herunterladen