猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

OpenFlowSwitchとしてのOpenvSwitchの詳細設定

OpenvSwitch(以下OVS)をOpenFlowSwitch(以下OFS)として利用する際の設定に関してまとめました。

datapathIDの設定

 OpenFlowController(以下OFC)とOVSを接続した際、セキュアチャネルのdatapathIDは以下のコマンドで任意の値に設定することができます。セキュアチャネル接続前に設定してください。

コマンド

# ovs-vsctl set bridge ブリッジ名 other-config:datapath-id=16桁の16進数

設定例

# ovs-vsctl set bridge br0 other-config:datapath-id=00003e8b61071c50
# ovs-ofctl show br0
OFPT_FEATURES_REPLY (xid=0x1): ver:0x1, dpid:00003e8b61071c50

ポート番号の指定

 通常はadd-portした順に連番でポート番号が自動で定まりますが、手動で明示的に指定することもできます。

設定例(結果抜粋)

# ovs-vsctl add-port br100 eth1 -- set interface eth1 ofport=101
# # ovs-ofctl show eth1
 101(eth1): addr:52:54:00:95:cd:5c
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max

OpenFlowのバージョンの変更

 デフォルトではOVSはOpenFlow1.0対応となっていますが、以下のコマンドでバージョンの変更することができます。

 ただしOFC側も対応するOpenFlowのバージョンをサポートしている必要があります。

以下のコマンドでは、OVSをOpenFlow1.0と1.2と1.3対応として設定しています(複数設定可能です)。こちらもセキュアチャネル接続前に設定してください。

# ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow12,OpenFlow13