SlideShare a Scribd company logo
Lagopus,
raw socket build
Feb 28, 2015
Masaru OKI
twitter @masaru0714
Lagopusとは(おさらい)
● OpenFlow対応ソフトウェアスイッチです
● (もちろん)オープンソースです
○ http://lagopus.github.io
● よく言われている特徴
○ x86 Linuxで動きます
○ DPDKを使っていて、内部の工夫もあり速いです
○ マルチコア・マルチスレッドで動作します
○ OpenFlowの仕様のカバー範囲が大きいです
OpenFlowソフトウェアスイッチ?
OpenFlowコントローラと組み合わせて使います
別の言い方をすると、コントローラが必要です
Lagopus
コントローラ
(別プロセス)
パケット パケット
TCP or SSL
Lagopusがつなぎにいく
受信パケットをどう処理する
か、Lagopusに教える
(フローエントリの投入)
OpenFlow Protocol
ソフトウェアスイッチ?
● 一番身近なハードウェアスイッチ: SW-HUB
● あるポートで受信したパケットをどこかに転送
● 特徴(H/Wだとお値段が張る製品でできる)
○ パケットヘッダを見て自在にフィルタリングができます
○ パケットヘッダの加工ができます
○ 転送先を自由に決めることができます
Lagopusを動かすまでのイロイロ
● DPDKの利用準備が必要
○ hugepageの予約、確保
○ UIOモジュールの組み込み
○ NICのデバイスドライバ割り当ての切り替え(unbind)
● マルチコア+Intel NIC環境が必要
○ 仮想マシンという手もあるけれど……
● unbindするとLinuxからNICが見えなくなる
● 手間がかかる、ハードルが高い
raw socket版Lagopus
● DPDKを使わないLagopus
● AF_PACKET socketを使いパケットを送受信
○ Intel NICじゃなくても大丈夫!
○ ip(8)で作った仮想NIC(gretapやvxlan等)でもOK
● データプレーンは現在シングルスレッド動作
● 煩わしいセットアップは不要
● ARM等の非x86アーキテクチャでも動かせます
DPDK版とraw socket版
現状raw socket版Lagopusは
● セットアップが簡単
● 小規模システムでも動く
半面、
● 規模が大きな環境でもスケールしません。
単一プロセスで動くので手軽に試せます。
入手とビルド方法
● 同一ソースコードです
○ https://github.com/lagopus/lagopus
● ./configureで切り替えます
○ パラメータを何もつけなければraw socket版
○ --with-dpdk-dir=をつければDPDK版
● make && sudo make install
lagopus.conf(記述例)
interface ethernet {
p1p1;
p2p2;
}
bridge-domain br0 {
port {
p1p1 port-no 1;
p1p2 port-no 2;
}
controller {
127.0.0.1;
}
}
Lagopusで使用する、ip(8)で見えるインタフェース名を列
挙します。
インタフェース名と、対応する OpenFlowポート番号(1以
上)を列挙します。
接続先コントローラの IPアドレスを記述します。
起動、その前に
コントローラが必要です。
OSSなものは例えば下記。お好みでどうぞ
○ Trema (Ruby)
○ Ryu (Python)
○ Floodlight (Java)
Ryuの例
sudo pip install ryu
ryu-manager simple_switch_13.py
起動方法、終了方法
起動
sudo lagopus -d -C ./lagopus.conf
終了
sudo lagosh
> configure
# stop-process
-dでフォアグラウンド動作。
もちろんsudo pkill lagopus でも終了します
リファレンス
Lagopus
http://lagopus.github.io
ONF (OpenFlowの総本山)
http://www.opennetworking.org/
Lagopus User Community
http://www.lagopus.community/cms/
DPDK
http://dpdk.org/

More Related Content

PDF
Lagopus performance
PDF
Xeon dとlagopusと、pktgen dpdk
PDF
SDNソフトウェアスイッチlagopus for FreeBSD
PDF
Lagopus Switch Usecases
PDF
Lagopus as open flow hybrid switch 実践編
PDF
Lagopus 0.2.2
PDF
Open stack+lagopus できるかな
PDF
Lagopus 0.2
Lagopus performance
Xeon dとlagopusと、pktgen dpdk
SDNソフトウェアスイッチlagopus for FreeBSD
Lagopus Switch Usecases
Lagopus as open flow hybrid switch 実践編
Lagopus 0.2.2
Open stack+lagopus できるかな
Lagopus 0.2

What's hot (20)

PDF
Ryu+Lagopusで OpenFlowの動きを見てみよう
PDF
DPDK QoS
PDF
Lagopus + DockerのDPDK接続
PDF
DPDKを用いたネットワークスタック,高性能通信基盤開発
PDF
High Performance Networking with DPDK & Multi/Many Core
PDF
Rust-DPDK
PDF
Ethernetの受信処理
PPTX
Dockerと外部ルータを連携させる仕組みを作ってみた
PDF
DPDKを拡張してみた話し
PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
PDF
FreeBSD jail+vnetと戯れた話
PDF
10GbE時代のネットワークI/O高速化
PDF
Lagos running on small factor machine
PDF
Open vSwitchソースコードの全体像
PDF
Dpdk pmd
PPTX
Trema での Open vSwitch
PDF
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
PDF
hpingで作るパケット
PPTX
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
PDF
Using rump on NetBSD 7.0
Ryu+Lagopusで OpenFlowの動きを見てみよう
DPDK QoS
Lagopus + DockerのDPDK接続
DPDKを用いたネットワークスタック,高性能通信基盤開発
High Performance Networking with DPDK & Multi/Many Core
Rust-DPDK
Ethernetの受信処理
Dockerと外部ルータを連携させる仕組みを作ってみた
DPDKを拡張してみた話し
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
FreeBSD jail+vnetと戯れた話
10GbE時代のネットワークI/O高速化
Lagos running on small factor machine
Open vSwitchソースコードの全体像
Dpdk pmd
Trema での Open vSwitch
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
hpingで作るパケット
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Using rump on NetBSD 7.0
Ad

Viewers also liked (20)

PDF
Using Xeon D 10GBase-T
PDF
自宅実験環境 Aug 2014
PDF
今よりも少し(?)昔、 Windowsを作ろうとした話
PDF
新生Lagopus2017(仮称)
PDF
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
PDF
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
PDF
LagopusでPPPoEを使えるか考えてみた件
PDF
Linux Namespace
PPTX
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
PDF
Site rodeio
PPTX
Cambodia (Political Setting)
PPT
8 Tarot Card Readings for 2016
PPTX
Singapore (Economic Setting)
PPT
8 Campaign Tactics if I am a 2016 Presidentiable
PPTX
Dracula presentation
PPT
8 Tui Bei Tu Parallelisms to Philippine History
PPTX
DOCX
Bao cao thuc_tap
PPTX
Knowtech training
PPTX
Ppt copy (2)
Using Xeon D 10GBase-T
自宅実験環境 Aug 2014
今よりも少し(?)昔、 Windowsを作ろうとした話
新生Lagopus2017(仮称)
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Lagopus presentation on 14th Annual ON*VECTOR International Photonics Workshop
LagopusでPPPoEを使えるか考えてみた件
Linux Namespace
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
Site rodeio
Cambodia (Political Setting)
8 Tarot Card Readings for 2016
Singapore (Economic Setting)
8 Campaign Tactics if I am a 2016 Presidentiable
Dracula presentation
8 Tui Bei Tu Parallelisms to Philippine History
Bao cao thuc_tap
Knowtech training
Ppt copy (2)
Ad

Similar to Lagopus, raw socket build (20)

PDF
NPStudy LT Lagopus Router v19.07
PDF
SDN Framework Ryu Internal
PDF
Lagopus Router v19.07.1
PDF
Lagopus as open flow hybrid switch
PDF
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
PPTX
Trema の紹介とネットワーク仮想化への応用
PDF
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
PDF
Osc2018tokyo spring-20180224
PPTX
ELK ではじめる自宅ネットワーク監視
PDF
How to run P4 BMv2
PDF
Onieで遊んでみようとした話
PPTX
Keycloakの実際・翻訳プロジェクト紹介
PDF
Lagopusとvagrant
PDF
仮想ネットワークを実現するOpenVNet
PDF
Lagopus どれだけ速いのか
PDF
VIOPS06: OpenFlowによるネットワーク構築と実証事件
PPTX
Lagopus workshop@Internet weekのそば
PDF
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
PDF
LibPGEN 1st Step Guide
PPTX
Software forwarding path
NPStudy LT Lagopus Router v19.07
SDN Framework Ryu Internal
Lagopus Router v19.07.1
Lagopus as open flow hybrid switch
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
Trema の紹介とネットワーク仮想化への応用
話題のOpenFlowをフル活用! OpenVNetで仮想ネットワークを実現しよう!
Osc2018tokyo spring-20180224
ELK ではじめる自宅ネットワーク監視
How to run P4 BMv2
Onieで遊んでみようとした話
Keycloakの実際・翻訳プロジェクト紹介
Lagopusとvagrant
仮想ネットワークを実現するOpenVNet
Lagopus どれだけ速いのか
VIOPS06: OpenFlowによるネットワーク構築と実証事件
Lagopus workshop@Internet weekのそば
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
LibPGEN 1st Step Guide
Software forwarding path

More from Masaru Oki (10)

PDF
NetBSD移植の昔話
PDF
Rust-DPDK
PDF
GPD WINが来た!
PDF
Lagopus 0.2.7
PDF
Lagopus match improvements
PDF
Lagopus 0.2.4
PDF
Open flow tunnel extension on lagopus vswitch
PDF
Net bsd advent calendar 2015 bpf
PDF
Rumpを使ってみる
PDF
Running lagopus on Xeon D
NetBSD移植の昔話
Rust-DPDK
GPD WINが来た!
Lagopus 0.2.7
Lagopus match improvements
Lagopus 0.2.4
Open flow tunnel extension on lagopus vswitch
Net bsd advent calendar 2015 bpf
Rumpを使ってみる
Running lagopus on Xeon D

Lagopus, raw socket build