Ryu flow entryでのMACアドレス書き換え

提供:TuntunkunMediaWiki

移動: 案内, 検索

MACアドレス書き換え

今回はRyuを利用したMACアドレスの書き換えを行うソースコードについて説明を行う。haddr_to_bin関数を利用してMACアドレスを文字列からバイナリへの変換を行わないと書き換えを行う事が出来ない。またフィールドを設定する際には、OFPActionSetFieldアクションを使用する。

from ryu.lib.mac import haddr_to_bin
 
"""
  MACアドレスの書き換え部分
"""
action_a = parser.OFPMatchField.make(ofproto.OXM_OF_ETH_SRC, haddr_to_bin(gw_mac))
action_g = parser.OFPMatchField.make(ofproto.OXM_OF_ETH_DST, haddr_to_bin(auth_mac))
 
actions_a = [parser.OFPActionSetField(action_a), parser.OFPActionOutput(port_g)]
actions_g = [parser.OFPActionSetField(action_g), parser.OFPActionOutput(port_a)]
 
inst_a = [parser.OFPInstructionActions(ofproto.OFPIT_APPLY_ACTIONS, actions_a)]
inst_g = [parser.OFPInstructionActions(ofproto.OFPIT_APPLY_ACTIONS, actions_g)]
個人用ツール
名前空間
変種
操作
案内
ツールボックス