Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
SDNソフトウェアスイッチ
Lagopus for FreeBSD
Aug 7, 2015
Masaru OKI @masaru0714
ソフトウェアスイッチ?
● いわゆるSW-HUBの機能をソフトで実現したもの
○ 宛先不明パケットは全ポートに送信
○ 宛先がわかるパケットは宛先のいるポートに送信
● “SDNソフトウェアスイッチ”の場合は少し違って
パケット転送ルールをソフ...
SDNソフトウェアスイッチの構成
大雑把にはこんな感じ
3
macihne
switch
process
4321
パケット転送用Ethernet port
controller process
スイッチにパケット転送ルールを
流し込む役割 (...
SDNソフトウェアスイッチLagopus
● 総務省O3プロジェクトの一つ
● NTTが開発、2014年7月にOSSとして公開
○ http://lagopus.github.io
● x86 Linuxで動作するソフトウェアスイッチ
● Op...
FreeBSDでLagopusを!
● 近日リリース予定のver 0.2でFreeBSD対応!
● FreeBSD 10.1にてコンパイルと動作を確認
● DPDKの環境準備がやや面倒
○ コンパイル時にカーネルソースが必要
○ NICはboo...
DPDKのビルド
$ cd ~/src
$ git clone git://dpdk.org/dpdk
$ cd dpdk; gmake T=x86_64-native-bsdapp-clang config
$ gmake
$ sudo cp...
FreeBSDでのメモリ・NICの設定
/boot/loader.confの内容に下記を追加。
# reserve 1 x 1G blocks of contiguous memory using configmem driver
hw.con...
Lagopusのビルド
$ cd ~/src
$ git clone git@github.com:lagopus/lagopus
$ cd lagopus
$ ./configure --with-dpdk-dir=$HOME/src/dpd...
Lagopusとコントローラの起動(例)
コントローラの起動(単純なスイッチアプリを指定)
$ ryu-manager simple_switch_13.py
Lagopusの起動
$ sudo lagopus -- -cff -n2 -- -...
細かい設定の方法など
SDN関連の集会 Trema Day #7の資料に書きます
そちらをご参照ください (SlideShareで公開予定)
DPDKのドキュメントやLagopusのドキュメントも
ご参照いただければと思います
10
最後に
FreeBSDをお使いの方もぜひお試しください!
バグを発見しましたら githubのissueで報告を
パッチを作成しましたらgithubへpull-reqを
質問等ありましたらLagopus User Communityまで
Lag...
Prochain SlideShare
Chargement dans…5
×

SDNソフトウェアスイッチlagopus for FreeBSD

1 789 vues

Publié le

SDNソフトウェアスイッチLagopusがFreeBSDに対応しましたので、紹介します。

Publié dans : Logiciels
  • Soyez le premier à commenter

SDNソフトウェアスイッチlagopus for FreeBSD

  1. 1. SDNソフトウェアスイッチ Lagopus for FreeBSD Aug 7, 2015 Masaru OKI @masaru0714
  2. 2. ソフトウェアスイッチ? ● いわゆるSW-HUBの機能をソフトで実現したもの ○ 宛先不明パケットは全ポートに送信 ○ 宛先がわかるパケットは宛先のいるポートに送信 ● “SDNソフトウェアスイッチ”の場合は少し違って パケット転送ルールをソフトウェア制御できます ○ パケットフィルタリングに近い ○ パケットヘッダの書き換えなどもできるものがある ○ ソフトウェア制御する「コントローラ」と組で使います ○ 仮想環境と相性が良い(deployに合わせて設定等) 2
  3. 3. SDNソフトウェアスイッチの構成 大雑把にはこんな感じ 3 macihne switch process 4321 パケット転送用Ethernet port controller process スイッチにパケット転送ルールを 流し込む役割 (Ryu, Tremaなど) 同一ホストで動かしてもよい ルールは別途用意する必要あり スイッチ本体 単体では動かない TCPやSSLで接続。 OpenFlowプロトコルが代表的
  4. 4. SDNソフトウェアスイッチLagopus ● 総務省O3プロジェクトの一つ ● NTTが開発、2014年7月にOSSとして公開 ○ http://lagopus.github.io ● x86 Linuxで動作するソフトウェアスイッチ ● OpenFlow 1.3により制御される ● DPDKという高速パケットI/Oライブラリを使用 ○ DPDK自身はLinuxとFreeBSDに対応している ● 10GbEのパケット転送でwire rateの性能 4
  5. 5. FreeBSDでLagopusを! ● 近日リリース予定のver 0.2でFreeBSD対応! ● FreeBSD 10.1にてコンパイルと動作を確認 ● DPDKの環境準備がやや面倒 ○ コンパイル時にカーネルソースが必要 ○ NICはboot時にDPDK用に割り当て ○ 動作中に割り当ての追加や解除はできません ● lagopusのビルド方法や使い方はLinux版と同じ ○ makeのかわりにgmakeを使います 5
  6. 6. DPDKのビルド $ cd ~/src $ git clone git://dpdk.org/dpdk $ cd dpdk; gmake T=x86_64-native-bsdapp-clang config $ gmake $ sudo cp build/kmod/* /boot/modules/ 6
  7. 7. FreeBSDでのメモリ・NICの設定 /boot/loader.confの内容に下記を追加。 # reserve 1 x 1G blocks of contiguous memory using configmem driver hw.contigmem.num_buffers=1 hw.contigmem.buffer_size=1073741824 configmem_load=”YES” # identify NIC devices for DPDK apps to use and load nic_uio driver hw.nic_uio.bdfs=”2:0:0,2:0:1” nic_uio_load=”YES” 7
  8. 8. Lagopusのビルド $ cd ~/src $ git clone git@github.com:lagopus/lagopus $ cd lagopus $ ./configure --with-dpdk-dir=$HOME/src/dpdk $ gmake $ sudo gmake install 8
  9. 9. Lagopusとコントローラの起動(例) コントローラの起動(単純なスイッチアプリを指定) $ ryu-manager simple_switch_13.py Lagopusの起動 $ sudo lagopus -- -cff -n2 -- -p3 9
  10. 10. 細かい設定の方法など SDN関連の集会 Trema Day #7の資料に書きます そちらをご参照ください (SlideShareで公開予定) DPDKのドキュメントやLagopusのドキュメントも ご参照いただければと思います 10
  11. 11. 最後に FreeBSDをお使いの方もぜひお試しください! バグを発見しましたら githubのissueで報告を パッチを作成しましたらgithubへpull-reqを 質問等ありましたらLagopus User Communityまで Lagopus 0.2を、よろしくおねがいします! 11

×