Soumettre la recherche
Mettre en ligne
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
•
1 j'aime
•
2,534 vues
Tomoya Hibi
Suivre
Lagopusのいろいろな設定方法をまとめてあります.
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 35
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
Tomoya Hibi
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDK
Tomoya Hibi
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
Tomoya Hibi
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
Lagopus Router v19.07.1
Lagopus Router v19.07.1
Tomoya Hibi
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
Tomoya Hibi
Recommandé
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
Tomoya Hibi
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDK
Tomoya Hibi
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
Tomoya Hibi
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
Masaru Oki
Lagopus Router v19.07.1
Lagopus Router v19.07.1
Tomoya Hibi
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Osc2018tokyo spring-20180224
Osc2018tokyo spring-20180224
Tomoya Hibi
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
Lagopusで試すFirewall
Lagopusで試すFirewall
Tomoya Hibi
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介
Takeshi Take
Bird in show_net
Bird in show_net
Tomoya Hibi
Lagopus Router
Lagopus Router
Tomoya Hibi
VPP事始め
VPP事始め
npsg
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
Lagos running on small factor machine
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
OpenDaylightを用いた次世代ネットワーク構成管理の考察
OpenDaylightを用いた次世代ネットワーク構成管理の考察
Naoto MATSUMOTO
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
npsg
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
Tomoya Hibi
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
Kentaro Ebisawa
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
シスコシステムズ合同会社
VTI の中身
VTI の中身
Masakazu Asama
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
Takashi Sogabe
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
FD.io VPP事始め
FD.io VPP事始め
tetsusat
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
Container Networking Deep Dive
Container Networking Deep Dive
Hirofumi Ichihara
20150715 xflow kikuta_final
20150715 xflow kikuta_final
Kazumasa Ikuta
Contenu connexe
Tendances
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
Lagopusで試すFirewall
Lagopusで試すFirewall
Tomoya Hibi
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
Lagopus Switch Usecases
Lagopus Switch Usecases
Sakiko Kawai
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介
Takeshi Take
Bird in show_net
Bird in show_net
Tomoya Hibi
Lagopus Router
Lagopus Router
Tomoya Hibi
VPP事始め
VPP事始め
npsg
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
Lagos running on small factor machine
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
OpenDaylightを用いた次世代ネットワーク構成管理の考察
OpenDaylightを用いた次世代ネットワーク構成管理の考察
Naoto MATSUMOTO
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
npsg
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
Tomoya Hibi
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
Kentaro Ebisawa
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
シスコシステムズ合同会社
VTI の中身
VTI の中身
Masakazu Asama
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
Takashi Sogabe
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
FD.io VPP事始め
FD.io VPP事始め
tetsusat
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
Tendances
(20)
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
Lagopusで試すFirewall
Lagopusで試すFirewall
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Lagopus Switch Usecases
Lagopus Switch Usecases
自作仮想化基盤 「n0stack」の紹介
自作仮想化基盤 「n0stack」の紹介
Bird in show_net
Bird in show_net
Lagopus Router
Lagopus Router
VPP事始め
VPP事始め
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Lagos running on small factor machine
Lagos running on small factor machine
OpenDaylightを用いた次世代ネットワーク構成管理の考察
OpenDaylightを用いた次世代ネットワーク構成管理の考察
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
VTI の中身
VTI の中身
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
FD.io VPP事始め
FD.io VPP事始め
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Project calico introduction - OpenStack最新情報セミナー 2017年7月
Similaire à Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Container Networking Deep Dive
Container Networking Deep Dive
Hirofumi Ichihara
20150715 xflow kikuta_final
20150715 xflow kikuta_final
Kazumasa Ikuta
Lagopusで試すFW
Lagopusで試すFW
Tomoya Hibi
osoljp 2011.08
osoljp 2011.08
@ otsuka752
P2Pって何?
P2Pって何?
Junya Yamaguchi
Nsegソフトウェアルータvyatta
Nsegソフトウェアルータvyatta
jem 3
161027 net opscoding-junos-automation
161027 net opscoding-junos-automation
Hiromi Tsukamoto
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
Takehiro Kudou
Ansible npstudy-shtsuchi
Ansible npstudy-shtsuchi
Shishio Tsuchiya
Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419
エイシュン コンドウ
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514
samemoon
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
Daisuke Nakajima
KES IoT Logicのご紹介(金沢エンジニアリングシステムズ)
KES IoT Logicのご紹介(金沢エンジニアリングシステムズ)
Yasuhiro Kobayashi
ARPトラブルあるある JANOG38 LT
ARPトラブルあるある JANOG38 LT
一清 井上
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
VirtualTech Japan Inc.
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
Takashi Kanai
Vyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing Enviroment
Naoto MATSUMOTO
RouterBOARD with OpenFlow
RouterBOARD with OpenFlow
Toshiki Tsuboi
Similaire à Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
(20)
Container Networking Deep Dive
Container Networking Deep Dive
20150715 xflow kikuta_final
20150715 xflow kikuta_final
Lagopusで試すFW
Lagopusで試すFW
osoljp 2011.08
osoljp 2011.08
P2Pって何?
P2Pって何?
Nsegソフトウェアルータvyatta
Nsegソフトウェアルータvyatta
161027 net opscoding-junos-automation
161027 net opscoding-junos-automation
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
Ansible npstudy-shtsuchi
Ansible npstudy-shtsuchi
Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514
Openvswitch vps 20120429資料
Openvswitch vps 20120429資料
KES IoT Logicのご紹介(金沢エンジニアリングシステムズ)
KES IoT Logicのご紹介(金沢エンジニアリングシステムズ)
ARPトラブルあるある JANOG38 LT
ARPトラブルあるある JANOG38 LT
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
Vyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing Enviroment
RouterBOARD with OpenFlow
RouterBOARD with OpenFlow
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
1.
0Copyright©2016 NTT corp.
All Rights Reserved. TremaDay # 10 in Okinawa Lagopusで試すL3ルーティング+α 2016/12/07 hibitomo 0
2.
1Copyright©2016 NTT corp.
All Rights Reserved. いろいろLagopusの仕様が変わっているので情報をまとめてイン ターネットに放流したい. インストール vhost Hybrid Switch (action:NORMAL) DSL仕様 断片的な情報を @masaru0714 さんが公開しているのでそれをまと める. 今日の目標
3.
2Copyright©2016 NTT corp.
All Rights Reserved. @masaru0714 さんのスライド群 http://www.slideshare.net/masaruoki9 Lagopus book http://www.lagopus.org/lagopus-book/en/html/ 本発表で利用しているスクリプト https://github.com/hibitomo/lagopus-tools https://github.com/hibitomo/lago-dsl https://github.com/hibitomo/lago-mon https://github.com/hibitomo/ofctl_script 参考情報
4.
3Copyright©2016 NTT corp.
All Rights Reserved. Agenda - Lagopus? - デモ内容: OpenFlow + L3ルーティング - Lagopus 0.2.10 のコンパイル&インストール - Lagopus 0.2.10 の設定(DSL) - DPDKの設定,インターフェースの設定 - 起動コマンド - Flow投入 without controller - 統計情報取得やらなにやら - Ryuとの接続 - デモ
5.
4Copyright©2016 NTT corp.
All Rights Reserved. Lagopus OpenFlowスイッチのソフトウェア実装 汎用x86サーバで動作可能 高速なパケット処理と幅広いプロトコルに対応 > 10Gbps OpenFlow1.3仕様に幅広く対応 OpenFlow コントローラ コントロールプレーン OpenFlow プロトコル OpenFlow スイッチ データプレーン Flow Table フローパターン アクション フローパターン アクション カウンター カウンター Flow Table #2 Flow Table #3 Flow Table #4
6.
5Copyright©2016 NTT corp.
All Rights Reserved. 性能評価 単純なポートフォワードを実施した場合のスループットを測定 CPU E5-2697v2 2.70GHz NIC Intel X520 メモリ 64GB OS Ubuntu 14.04LTS CPU E5-2667v3 3.20GHz NIC Intel XL710 メモリ 64GB OS Ubuntu 14.04LTS 10GbE 測定環境 測定結果 40GbE 測定環境 測定結果 6.66 8.65 9.28 9.49 9.63 9.77 9.83 9.85 9.86 0 1 2 3 4 5 6 7 8 9 10 0 200 400 600 800 1000 1200 1400 Throughput(Gbps) Packet size (byte) Lagopus Wire-rate 7.7 15.5 26.5 34.2 39.2 39.5 0 5 10 15 20 25 30 35 40 0 200 400 600 800 1000 1200 1400 Throughput(Gbps) Packet size (byte) Lagopus Wire-rate
7.
6Copyright©2016 NTT corp.
All Rights Reserved. 最新の性能 1.9 3.6 7.4 20.6 36.3 39.4 8.2 16.1 25.0 34.0 39.2 39.5 9.0 17.9 27.6 35.1 39.2 39.5 0 5 10 15 20 25 30 35 40 45 0 200 400 600 800 1000 1200 1400 1600 Throughput(Gbps) Packet size (bytes) -- -cff00 -n4 -- --fifoness none -- -cff00 -n4 -- --bsz "(32,32),(32,32),(32,32) --fifoness none -- -cff00 -n4 -- --bsz "(32,32),(32,32),(32,32) --fifoness none --rx "(0,0,9),(1,0,10)" --tx "(0,10),(1,9)" --w "11,12,13,14,15" wirerate
8.
7Copyright©2016 NTT corp.
All Rights Reserved. Action: Normalを活用する デモ構成 サーバ 端末1 L2ブリッジ 端末2 OpenFlow + L3 ルーティング Application ネットワーク監視 Lagopus KVM Namespace
9.
8Copyright©2016 NTT corp.
All Rights Reserved. Action: Normalを活用する デモ構成 サーバ 端末1 L2ブリッジ 端末2 OpenFlow + L3 ルーティング Application ネットワーク監視 Lagopus KVM Namespace 192.168.0.10 192.168.1.10 192.168.0.1 192.168.1.1 10.0.0.1
10.
9Copyright©2016 NTT corp.
All Rights Reserved. 端末2からのパケットはそのままルーティング デモ構成 サーバ 端末1 L2ブリッジ 端末2 OpenFlow + L3 ルーティング Application ネットワーク監視 Lagopus KVM Namespace
11.
10Copyright©2016 NTT corp.
All Rights Reserved. 端末1からのパケットはネットワーク監視アプリにも送信 デモ構成 サーバ 端末1 L2ブリッジ 端末2 OpenFlow + L3 ルーティング Application ネットワーク監視 Lagopus KVM Namespace
12.
11Copyright©2016 NTT corp.
All Rights Reserved. Action: NORMAL 確認できる機能 サーバ 端末1 L2ブリッジ 端末2 OpenFlow + L3 ルーティング Application ネットワーク監視 Lagopus KVM Namespace Action: NORMAL (L3ルーティング) Action: NORMAL (L2スイッチ)
13.
12Copyright©2016 NTT corp.
All Rights Reserved. 様々なインターフェース 確認できる機能 サーバ 端末1 Bridge1 端末2 Bridge2 Application ネットワーク監視 Lagopus KVM Namespace Raw Socketvhost-userpipe物理
14.
13Copyright©2016 NTT corp.
All Rights Reserved. LagopusのDPDKオプション変更(vHOST-USER PMD を使う場合) Lagopusのインストール(基本はQUICKSTART.mdを参考に) diff --git a/mk/make_dpdk.sh b/mk/make_dpdk.sh index 52914c6..92d3e97 100755 --- a/mk/make_dpdk.sh +++ b/mk/make_dpdk.sh @@ -80,7 +80,7 @@ edit_dpdk_config CONFIG_RTE_BUILD_SHARED_LIB=y $NEWCONFIG #edit_dpdk_config CONFIG_RTE_LIBRTE_PMD_AESNI_MB=y $NEWCONFIG edit_dpdk_config CONFIG_RTE_IXGBE_INC_VECTOR=n $NEWCONFIG edit_dpdk_config CONFIG_RTE_LIBRTE_PMD_PCAP=n $NEWCONFIG -edit_dpdk_config CONFIG_RTE_LIBRTE_PMD_VHOST=n $NEWCONFIG +edit_dpdk_config CONFIG_RTE_LIBRTE_PMD_VHOST=y $NEWCONFIG edit_dpdk_config CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO=n $NEWCONFIG edit_dpdk_config CONFIG_RTE_LIBRTE_PMD_BOND=n $NEWCONFIG edit_dpdk_config CONFIG_RTE_APP_TEST=n $NEWCONFIG v0.2.10からはデフォルトで CONFIG_RTE_LIBRTE_PMD_VHOST=y になりました
15.
14Copyright©2016 NTT corp.
All Rights Reserved. Hugepageの設定 QUICKSTART.mdを参照 コンパイル (OpenFlow hybrid switchを使う場合) “--enable-hybrid” : hybrid switchをenableにする “--enable-jumbo-frame” : ジャンボフレームに対応する • ※ vhost-userが上手く動いて無さそう “gcc-full-opt” : 最適化オプションを付ける(つけないと”-O0”) Lagopusのインストール(基本はQUICKSTART.mdを参考に) $ ./configure --enable-hybrid --enable-jumbo-frame $ make gcc-full-opt -j 8 $ sudo make install
16.
15Copyright©2016 NTT corp.
All Rights Reserved. lagopus.dsl (例) Lagopusの設定ファイル channel controller01-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller01 create -channel controller01-channel -role equal -connection-type main channel controller02-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller02 create -channel controller01-channel -role equal -connection-type main interface interface00 create -type ethernet-dpdk-phy -device :0000:07:00.1 interface interface01 create -type ethernet-dpdk-phy -device eth_pipe0 interface interface02 create -type ethernet-dpdk-phy -device eth_pipe1,attach=eth_pipe0 interface interface03 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/sock0 interface interface04 create -type ethernet-rawsock -device veth0 port port01 create -interface interface00 port port02 create -interface interface01 port port03 create -interface interface02 port port04 create -interface interface03 port port05 create -interface interface04 bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1 bridge bridge01 enable bridge bridge02 create -controller controller02 -port port03 1 -port port04 2 -port port05 3 -dpid 0x2 bridge bridge02 enable コントローラ 関連 Interface関連 port関連 Bridge関連
17.
16Copyright©2016 NTT corp.
All Rights Reserved. lagopus.dsl (例) Lagopusの設定ファイル channel controller01-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller01 create -channel controller01-channel -role equal -connection-type main channel controller02-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller02 create -channel controller01-channel -role equal -connection-type main interface interface00 create -type ethernet-dpdk-phy -device :0000:07:00.1 interface interface01 create -type ethernet-dpdk-phy -device eth_pipe0 interface interface02 create -type ethernet-dpdk-phy -device eth_pipe1,attach=eth_pipe0 interface interface03 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/sock0 interface interface04 create -type ethernet-rawsock -device veth0 port port01 create -interface interface00 port port02 create -interface interface01 port port03 create -interface interface02 port port04 create -interface interface03 port port05 create -interface interface04 bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1 bridge bridge01 enable bridge bridge02 create -controller controller02 -port port03 1 -port port04 2 -port port05 3 -dpid 0x2 bridge bridge02 enable 物理: PCIアドレス. (namespace用の最初のコロン を忘れない)
18.
17Copyright©2016 NTT corp.
All Rights Reserved. lagopus.dsl (例) Lagopusの設定ファイル channel controller01-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller01 create -channel controller01-channel -role equal -connection-type main channel controller02-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller02 create -channel controller01-channel -role equal -connection-type main interface interface00 create -type ethernet-dpdk-phy -device :0000:07:00.1 interface interface01 create -type ethernet-dpdk-phy -device eth_pipe0 interface interface02 create -type ethernet-dpdk-phy -device eth_pipe1,attach=eth_pipe0 interface interface03 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/sock0 interface interface04 create -type ethernet-rawsock -device veth0 port port01 create -interface interface00 port port02 create -interface interface01 port port03 create -interface interface02 port port04 create -interface interface03 port port05 create -interface interface04 bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1 bridge bridge01 enable bridge bridge02 create -controller controller02 -port port03 1 -port port04 2 -port port05 3 -dpid 0x2 bridge bridge02 enable Pipe
19.
18Copyright©2016 NTT corp.
All Rights Reserved. lagopus.dsl (例) Lagopusの設定ファイル channel controller01-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller01 create -channel controller01-channel -role equal -connection-type main channel controller02-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller02 create -channel controller01-channel -role equal -connection-type main interface interface00 create -type ethernet-dpdk-phy -device :0000:07:00.1 interface interface01 create -type ethernet-dpdk-phy -device eth_pipe0 interface interface02 create -type ethernet-dpdk-phy -device eth_pipe1,attach=eth_pipe0 interface interface03 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/sock0 interface interface04 create -type ethernet-rawsock -device veth0 port port01 create -interface interface00 port port02 create -interface interface01 port port03 create -interface interface02 port port04 create -interface interface03 port port05 create -interface interface04 bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1 bridge bridge01 enable bridge bridge02 create -controller controller02 -port port03 1 -port port04 2 -port port05 3 -dpid 0x2 bridge bridge02 enable vhost
20.
19Copyright©2016 NTT corp.
All Rights Reserved. lagopus.dsl (例) Lagopusの設定ファイル channel controller01-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller01 create -channel controller01-channel -role equal -connection-type main channel controller02-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller02 create -channel controller01-channel -role equal -connection-type main interface interface00 create -type ethernet-dpdk-phy -device :0000:07:00.1 interface interface01 create -type ethernet-dpdk-phy -device eth_pipe0 interface interface02 create -type ethernet-dpdk-phy -device eth_pipe1,attach=eth_pipe0 interface interface03 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/sock0 interface interface04 create -type ethernet-rawsock -device veth0 port port01 create -interface interface00 port port02 create -interface interface01 port port03 create -interface interface02 port port04 create -interface interface03 port port05 create -interface interface04 bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1 bridge bridge01 enable bridge bridge02 create -controller controller02 -port port03 1 -port port04 2 -port port05 3 -dpid 0x2 bridge bridge02 enable rawsocket
21.
20Copyright©2016 NTT corp.
All Rights Reserved. lagopus.dsl (今回のデモ用の設定) Lagopusの設定ファイル channel controller01-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller01 create -channel controller01-channel -role equal -connection-type main channel controller02-channel create -dst-addr 127.0.0.1 -protocol tcp controller controller02 create -channel controller02-channel -role equal -connection-type main interface interface00 create -type ethernet-dpdk-phy -device :0000:07:00.2 -mtu 9000 interface interface01 create -type ethernet-dpdk-phy -device eth_pipe0 -mtu 9000 interface interface02 create -type ethernet-dpdk-phy -device eth_pipe1,attach=eth_pipe0 -mtu 9000 interface interface03 create -type ethernet-dpdk-phy -device eth_vhost0,iface=/tmp/sock0 -mtu 9000 interface interface04 create -type ethernet-rawsock -device veth0 -mtu 9000 port port01 create -interface interface00 port port02 create -interface interface01 port port03 create -interface interface02 port port04 create -interface interface03 port port05 create -interface interface04 bridge bridge01 create -controller controller01 -port port01 1 -port port02 2 -dpid 0x1 -l2-bridge true -mactable-ageing-time 300 - mactable-max-entries 8192 bridge bridge01 enable bridge bridge02 create -controller controller02 -port port03 1 -port port04 2 -port port05 3 -dpid 0x2 -l2-bridge true -mactable- ageing-time 300 -mactable-max-entries 8192 bridge bridge02 enable MTUの設定 action: normalのための設定
22.
21Copyright©2016 NTT corp.
All Rights Reserved. DPDK (16.11版.スクリプトの名前が変わっています) Linuxカーネルから,DPDKに管理を移す Rawsock プロトコルオフロードをoffにする必要がある NICの設定 $ sudo ./src/dpdk/tools/dpdk-devbind.py --bind=igb_uio 0000:02:02.0 $ sudo ethtool -K veth0 tx off
23.
22Copyright©2016 NTT corp.
All Rights Reserved. Lagopus 0.2.10 DSLに記述してあれば,--vdevオプションは不要 -p オプションは不要 Lagopusの起動 $ sudo lagopus -C ${LAGOPUS_DSL} -- -c e -n 4 -m 1024 --
24.
23Copyright©2016 NTT corp.
All Rights Reserved. ※ Lagopusを実行,interfaceを作成してからVMを起動する QEMUで直接起動する場合のコマンド VMの起動 sudo qemu-system-x86_64 ¥ -M pc-1.0 -cpu host -m 4096 -smp 4 -enable-kvm ¥ -drive file=/home/vsw/IMAGES/Ubuntu64_lagopus.img,if=none,id=drive-virtio-disk0,format=raw ¥ -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 ¥ -object memory-backend-file,id=mem,size=4096M,mem-path=/mnt/huge,share=on ¥ -mem-prealloc -mem-path /dev/hugepages ¥ -numa node,memdev=mem ¥ -chardev socket,id=chr0,path=/tmp/sock0 ¥ -netdev vhost-user,id=hostnet0,chardev=chr0,vhostforce ¥ -device virtio-net-pci,netdev=hostnet0,id=net0,csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off ¥ -vnc 0.0.0.0:0
25.
24Copyright©2016 NTT corp.
All Rights Reserved. ※ Lagopusを実行,interfaceを作成してからVMを起動する libvirtを使う場合のXML定義ファイル (CPU部分) あとapparmorの設定.面倒であれば消す. VMの起動 @@ -21,6 +26,10 @@ </features> <cpu mode='host-model'> <model fallback='allow'/> + <topology sockets='1' cores='8' threads='1'/> + <numa> + <cell id='0' cpus='0-7' memory='8388608' unit='KiB' memAccess='shared'/> + </numa> </cpu> <clock offset='utc'> <timer name='rtc' tickpolicy='catchup'/>
26.
25Copyright©2016 NTT corp.
All Rights Reserved. ※ Lagopusを実行,interfaceを作成してからVMを起動する libvirtを使う場合のXML定義ファイル (DPDK利用のinterface部分) あとapparmorの設定.面倒であれば消す. VMの起動 <interface type='vhostuser'> <source type='unix' path='/tmp/sock0' mode='client'/> <mac address='52:54:00:00:00:01'/> <model type='virtio'/> <driver> <host csum='off' gso='off' tso4='off' tso6='off' ecn='off' mrg_rxbuf='off'/> <guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/> </driver> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </interface>
27.
26Copyright©2016 NTT corp.
All Rights Reserved. IPの設定(Lagopus起動,interface作成後に操作) ※IPを設定しないとL2スイッチとして動作します DSLで記述したinterfaceと同名のinterfaceが出来ているのでそれに設定 LagopusのIPアドレスの設定 $ sudo ip addr add 10.0.0.1 dev interface02 $ sudo ip addr add 192.168.0.1 dev interface03 $ sudo ip addr add 192.168.1.1 dev interface04
28.
27Copyright©2016 NTT corp.
All Rights Reserved. telnet スクリプト https://github.com/hibitomo/lago-dsl Document https://github.com/lagopus/lagopus/blob/master/docs/how-to-use- ds-flow-cmd.md コントローラレスのFlow投入 $ telnet 127.0.0.1 12345 flow bridge01 add priority=1 apply_actions=output:normal $ ./lago-dsl.py flow bridge01 add priority=1 apply_actions=output:normal $ ./lago-dsl.py flow bridge02 add priority=1 apply_actions=output:normal
29.
28Copyright©2016 NTT corp.
All Rights Reserved. OpenFlow プログラムからの取得 lagoshで取得 ( `$ lagosh -c show interface`等) DSLからの取得 DSLを使った情報取得のスクリプト https://github.com/hibitomo/lago-mon 統計情報の取得 $ ./lago-dsl/lago-dsl.py interface interface00 stats [{u'name': u'interface00', u'rx-dropped': 0, u'tx-errors': 0, u'rx-bytes': 4520858, u'tx-packets': 1006, u'rx- packets': 1606, u'tx-bytes': 3319226, u'rx-errors': 0, u'tx-dropped': 0}] $ ./lago-mon/ifstats_monitor.py -l 10 {"timestamp": "2016-06-08T14:13:04.253669", "interfaces": {"interface1": {"name": "interface1", "rx-dropped": 0, "tx-errors": 0, "rx-bytes": 0, "tx-packets": 0, "rx- packets": 0, "tx-bytes": 0, "rx-errors": 0, "tx-dropped": 0}, "interface0": {"name": "interface0", "rx-dropped": 0, "tx-errors": 0, "rx-bytes": 0, "tx-packets": 0, "rx- packets": 0, "tx-bytes": 0, "rx-errors": 0, "tx-dropped": 0}}}
30.
29Copyright©2016 NTT corp.
All Rights Reserved. とりあえずping まだコントローラ起動してないよ デモ サーバ 端末1 L2ブリッジ OpenFlow + L3 ルーティング Application ネットワーク監視 Lagopus KVM Namespace
31.
30Copyright©2016 NTT corp.
All Rights Reserved. Ryuの起動 Bridgeの接続,Flowの確認 Ryuと接続 $ ryu-manager /usr/local/lib/python2.7/dist-packages/ryu/app/ofctl_rest.py $ ~/ofctl_script/check_dpid [1,2] $ ~/ofctl_script/show_flow -d 1 table 0 {"match":{},"actions":["OUTPUT:NORMAL"],"cookie":0,"packet_count":0,"priority":1,"table_id":0} $ ~/ofctl_script/show_flow -d 2 table 0 {"match":{},"actions":["OUTPUT:NORMAL"],"cookie":0,"packet_count":0,"priority":1,"table_id":0}
32.
31Copyright©2016 NTT corp.
All Rights Reserved. Flow投入 通常のルーティングに加え,IP:10.0.0.10 からのパケットはポート3にも出 力する Ryuと接続 $ ~/ofctl_script/add_flow -d 2 ¥ {"priority":100,"cookie":1,"actions":["OUTPUT:NORMAL","OUTPUT:3"],"match":{"eth_type":2048,"ipv4_src":" 10.0.0.10"}}
33.
32Copyright©2016 NTT corp.
All Rights Reserved. 時間がないのでしないかも デモ サーバ 端末1 L2ブリッジ OpenFlow + L3 ルーティング Application ネットワーク監視 Lagopus KVM Namespace
34.
33Copyright©2016 NTT corp.
All Rights Reserved. Lagopusは高速なOpenFlow1.3対応のソフトウェアスイッチ output: normal で簡単なL2スイッチング対応 output: normal で簡単なL3ルーティング対応 仮想マシンを含む様々なインターフェースとの接続 OpenFlow + L3ルーティングでこれまでにないネットワーク運用が 可能 本スライドの内容とQUICKSTART.mdを参考にすれば同等の環境を構 築できるはず... まとめ
35.
34Copyright©2016 NTT corp.
All Rights Reserved. ご清聴ありがとうございました 34 ######## ## ;;;; ## ## #### ## #### ## ## ## #### ##### ######## ## ############## ## ## ### ######## ## ## #### ## ## ## #### ## #### ## ## ## ## ## ###### #### #### #### #### ########## #################### mmmm ## ##########
Télécharger maintenant