Modify-Field アクションの紹介も大分進んできました。今日はパケットの VLAN ヘッダを取り除く方法です。
パケットの VLAN ヘッダを取り除くアクションを作る
VLAN ヘッダを取り除くアクションは StripVlanHeader です。
# VLAN ヘッダを取り除く StripVlanHeader.new
このアクションにオプションは無いので、:new に引数はいりません。
Flow Mod でアクションを指定する
こうして作ったアクションを使うには、いつもの通り Flow Mod の :actions オプションに指定できます。
def packet_in datapath_id, message # .. send_flow_mod_add( datapath_id, :match => Match.new( :dl_src => message.macsa, :dl_dst => message.macda ), :actions => [ StripVlanHeader.new, SendOutPort.new( port_no ) ] )
Packet Out のアクションも同様です。
まとめ
StripVlanHeader でパケットの VLAN ヘッダを取り除く方法を紹介しました。