新しいアクション API

最近の Trema ではフローのアクションの API に変更があります。使い勝手は今までとまったく変わりませんが、アクションを表すクラス名が一新されています。

クラス名の新旧対応

古い名前と新しい名前の対応は次のようになります。

ActionOutput SendOutPort
ActionSetDlSrc SetEthSrcAddr
ActionSetDlDst SetEthDstAddr
ActionSetNwSrc SetIpSrcAddr
ActionSetNwDst SetIpDstAddr
ActionSetNwTos SetIpTos
ActionSetTpSrc SetTransportSrcPort
ActionSetTpDst SetTransportDstPort
ActionSetVlanVid SetVlanVid
ActionSetVlanPcp SetVlanPriority
ActionStripVlan StripVlanHeader
ActionVendor VendorAction

今までのクラス名

今までのクラス名は OpenFlow 仕様が定義する C の定数 (OFPAT_*) を反映した名前になっていました。

例) OFPAT_SET_TP_SRC → ActionSetTpSrc

Trema の C ライブラリを使っている人にとっては、今までどおりのほうがわかりやすいと思います。もちろん、今までのクラス名は新クラスのエイリアスとして残してあるので、今までのコードは変更無しにそのまま動きます。

新しいクラス名

新しい名前はクラス名から “Action” のプレフィクスを取り、”Dl”, “Nw”, “Tp” などの一見わかりづらい略語をなるべく一般的な用語に直しました。

  • Dl → Eth
  • Nw → Ip
  • Tp → Transport

なお新クラスの命名には Haskell の OpenFlow ライブラリ Nettle の型定義を参考にしました。ありがとうございます。

Tagged ,

Leave a Reply