lagopus.confの書式
(for Lagopus 0.1.x)
Dec 18, 2014
Masaru OKI
m-oki@stratosphere.co.jp
ご注意
OSS版Lagopusの現在のバージョンは0.1.1。
0.1.2を準備中です。
その後、0.3.0(仮)のリリースが予定されています。
0.3.0(仮)では、書式が少し(?)変わります。
本説明は0.1.x向けですので、ご注意ください。
lagopus.conf
● samples/lagopus.confに例があります。
● QUICKSTART.mdにも例が載っています。
● 書式等のドキュメントは、現在ありません。
● “lagopus.conf”が起動時に参照されます。
○ 参照順は
1. カレントディレクトリ
2. configureの--sysconfdir指定 (/usr/local/etcなど)
● パス指定: lagopus -C ./my.conf
lagopus.confで設定するもの
OpenFlow logical switchの設定。
ブリッジと呼んでいます。
interface ethernet
DPDK portid 0
interface ethernet
DPDK portid N
bridge-domains
bridge-domains “br0”
port
port-no
controller <IP>
local-address
local-port
port
tls or not
fail-secure-mode
dpid
lagopus.confの書式
KEYWORD {
KEYWORD parameter;
}
KEYWORD parameter {
KEYWORD {
…
}
}
lagopus.confの書式のお約束
● 改行は無視されます。
● 下記のいずれか。この単位で任意に省略できます。
○ KEYWORD;
○ KEYWORD parameter;
○ KEYWORD KEYWORD;
○ KEYWORD KEYWORD parameter;
● ; の代わりに { … } がつく書式があります。
● { } の中に、入れ子でKEYWORD… を書きます。
● 記述順は自由ですが上から評価されていきます。
トップレベルキーワード
下記が定義されています。(詳細は後述)
● tls
● snmp
● interface
● bridge-domains
● protocols
● system
tls
TLS接続関連の情報を設定します。
tls {
certificate-store ディレクトリ名;
certificate-file ファイル名;
private-key “プライベートキー文字列”;
trust-point-conf ファイル名;
}
● コントローラとのSSL接続の信頼性担保に使用。
snmp
SNMPに関する設定です。
snmp {
master-agentx-socket 接続先アドレス;
ping-interval-second 数値(1-255);
}
● SNMPサポートの場合に使われます。
● 現在OSS版では書式が定義されているのみです。
● 動作しませんので、記述不要です。
interface
Lagopusで使用するインタフェースを定義します。
第2レベルキーワードが複数あります。
● interface ethernet
● interface gre
● interface vxlan
● interface nvgre
現在はinterface ethernetのみ実装されています。
interface ethernet
interface ethrenet {
NIC名;
NIC名 shutdown;
}
● shutdownをつけるとlink downになります。(未実装)
● DPDK版のNIC名: “eth”の後ろにポートID。
○ Linuxで見えている名前と無関係な点に注意。
● raw socket版のNIC名: Linuxで見える名前そのまま。
bridge-domains
OpenFlowスイッチを定義します。複数定義可能。
● ブリッジ名: “br”を接頭辞につける任意の名前。
bridge-domains br0 { … }
● 第2レベルキーワード(未実装のものは省略)
○ dpid
○ port
○ fail-secure-mode
○ controller
bridge-domains dpid
datapath idを指定します。
bridge-domains br0 {
dpid 0.00:00:00:00:00:01;
● OpenFlow仕様で下位48bitはMACアドレスという記
述があり、上位16ビットを10進数、下位48ビットを
MACアドレス形式で記述します。
● <10進数> . <MACアドレス>です。
● 記述がない場合、起動時に乱数で生成します。
bridge-domains port
OpenFlowポートを定義します。
bridge-domains br0 {
port {
eth0;
eth1 port-no 5;
● interfaceで指定した名前を書きます。
● 末尾の数字+1がポート番号、port-noで指定可能。
● raw socket版では、ほぼport-no必須。
bridge-domains fail-secure-mode
コントローラとの接続が切れたときの動作設定。
bridge-domains br0 {
fail-secure-mode;
…
● 記述あり: fail-secure-mode(フロー処理続行)
● 記述なし: fail-standalone-mode
○ 本来はOFPP_NORMALでレガシー処理されます。
○ 現在はハイブリッドサポートがないのでall drop。
bridge-domains controller
コントローラとの接続に関する設定です。
IPアドレス指定の後ろに第3レベルキーワード
bridge-domains br0 {
controller 127.0.0.1 {
● protocols
● port
● local-address
● local-port
bridge-domains controller
● protocols
○ “protocols tls;”でTLS接続(記述なしでTCP接続)
● port
○ 接続先のTLS/TCPポート番号を指定。指定なしは6633。
● local-address
○ 自IPアドレスを手動で指定します。指定なしで自動選択
● local-port
○ 自ポート番号を手動で指定します。指定なしで自動選択
bridge-domains controller
6633/tcp宛で接続先IPアドレス指定だけなら
bridge-domains br0 {
controller 192.168.0.1;
…
}
● IPアドレス部分にはIPv6アドレスも指定可能。
記述に関しての注意点
● 記述誤りは無視されて、止まらず動きます。
● 起動オプションとconfのポートに食い違いがある
ときは、両方で有効なポートのみ動きます。
● 現在、チェッカープログラムはありません。
● 文法はconfiguration.xmlで定義されます。
○ プログラムでXMLと同じ埋め込み文字列を使ってます。
○ そのため、xmlファイル変更のみで文法変更は不可能。
こんなことできますか?
Q.Lagopus側でlistenしてovs-ofctlでフロー設定可能?
A.できません。ovs-controllerとはお話しできます。
Q.ブリッジを2つ作ってそれぞれのポートを接続可能?
A.ポートの接続にPipe PMDを使えば可能です。
Q.lagoshからフロー設定可能?
A.できません。表示はshow flowでできます。
思ったように動かない、困ったときは
● ひとまず、ログを参照してください。
○ Ubuntuなら/var/log/syslog (他のと混ざります)
○ Lagopus自身、かなりいろいろ吐きます。
● 起動パラメータで出力先を指定することも可能。
○ sudo lagopus -d -C ./my.conf -l /dev/stdout …
● stdout指定すると画面に出ます。
● ファイルを指定してlagopusのログだけ分離も可能。

More Related Content

PDF
新生Lagopus2017(仮称)
PDF
Lagopus 0.2
PDF
Ryu+Lagopusで OpenFlowの動きを見てみよう
PDF
Lagopus 0.2.2
PDF
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
PDF
Lagopus, raw socket build
PDF
Lagopus performance
PDF
Lagopus as open flow hybrid switch
新生Lagopus2017(仮称)
Lagopus 0.2
Ryu+Lagopusで OpenFlowの動きを見てみよう
Lagopus 0.2.2
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Lagopus, raw socket build
Lagopus performance
Lagopus as open flow hybrid switch

What's hot (20)

PPT
Mercurial はオフラインの海を越える
PPT
処理概要図&構築手順書1124
PDF
OpenFlowをXenServerで試してみよう
PDF
Open vSwitchソースコードの全体像
PDF
Lagopusとvagrant
PPTX
Trema での Open vSwitch
PPT
Mongo db18 upgrade
PPTX
initとプロセス再起動
PDF
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
PDF
#logstudy 01 rsyslog入門
PDF
Lagopus Switch Usecases
PDF
Open stack+lagopus できるかな
PDF
Using rump on NetBSD 7.0
KEY
OpenvswitchでVPS
PDF
SDNソフトウェアスイッチlagopus for FreeBSD
PDF
hpingで作るパケット
PDF
Ssaw08 0617
PDF
OpenvSwitchのモニタリングと管理機能
PDF
Open flow tunnel extension on lagopus vswitch
PDF
lilo.linux.or.jp を wheezy から jessie にあげた話
Mercurial はオフラインの海を越える
処理概要図&構築手順書1124
OpenFlowをXenServerで試してみよう
Open vSwitchソースコードの全体像
Lagopusとvagrant
Trema での Open vSwitch
Mongo db18 upgrade
initとプロセス再起動
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
#logstudy 01 rsyslog入門
Lagopus Switch Usecases
Open stack+lagopus できるかな
Using rump on NetBSD 7.0
OpenvswitchでVPS
SDNソフトウェアスイッチlagopus for FreeBSD
hpingで作るパケット
Ssaw08 0617
OpenvSwitchのモニタリングと管理機能
Open flow tunnel extension on lagopus vswitch
lilo.linux.or.jp を wheezy から jessie にあげた話
Ad

More from Masaru Oki (19)

PDF
NetBSD移植の昔話
PDF
Rust-DPDK
PDF
Rust-DPDK
PDF
今よりも少し(?)昔、 Windowsを作ろうとした話
PDF
Onieで遊んでみようとした話
PDF
GPD WINが来た!
PDF
Lagopus as open flow hybrid switch 実践編
PDF
LagopusでPPPoEを使えるか考えてみた件
PDF
Lagopus どれだけ速いのか
PDF
Lagopus 0.2.7
PDF
Lagopus match improvements
PDF
Lagopus 0.2.4
PDF
Net bsd advent calendar 2015 bpf
PDF
Rumpを使ってみる
PDF
FreeBSD jail+vnetと戯れた話
PDF
Xeon dとlagopusと、pktgen dpdk
PDF
Running lagopus on Xeon D
PDF
Using Xeon D 10GBase-T
PDF
DPDK QoS
NetBSD移植の昔話
Rust-DPDK
Rust-DPDK
今よりも少し(?)昔、 Windowsを作ろうとした話
Onieで遊んでみようとした話
GPD WINが来た!
Lagopus as open flow hybrid switch 実践編
LagopusでPPPoEを使えるか考えてみた件
Lagopus どれだけ速いのか
Lagopus 0.2.7
Lagopus match improvements
Lagopus 0.2.4
Net bsd advent calendar 2015 bpf
Rumpを使ってみる
FreeBSD jail+vnetと戯れた話
Xeon dとlagopusと、pktgen dpdk
Running lagopus on Xeon D
Using Xeon D 10GBase-T
DPDK QoS
Ad

Recently uploaded (12)

PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
PPTX
Vibe Codingを触って感じた現実について.pptx .
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
Working as an OSS Developer at Ruby Association Activity Report 2025
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Vibe Codingを触って感じた現実について.pptx .
20250823_IoTLT_vol126_kitazaki_v1___.pdf
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)

Lagopus.confの書式(for lagopus 0.1.x)