这是indexloc提供的服务,不要输入任何密码
Skip to content

OpenFlow1.3版 ラーニングスイッチの質問 #105

@yasuhito

Description

@yasuhito

OpenFlow1.3版ラーニングスイッチ作者!! @shun159 さんいくつか教えてください:

  • テーブルIDの振りかたの決まり?:
    いまの実装だとテーブルIDの0番と1番をぞれぞれ次のように振っています。質問ですが、OpenFlowの仕様とかあとはベストプラクティスみたいなもので、IDはこういう振りかたをしようとか、予約されていて使えないIDなどというものってあるでしょうか?
  INGRESS_FILTERING_TABLE_ID = 0
  FORWARDING_TABLE_ID = 1
  • 802.1D予約済みスパニングツリーMACアドレス対応?:
    OpenFlow1.0版のラーニングスイッチでは、次のように Mac#reserved? メソッドで宛先が802.1D予約済みスパニングツリーMACアドレスなモノをdropしています。OpenFlow1.3版もフィルタリングテーブルでこうしたほうがいいですか? (関連イシュー ラーニングスイッチ章: message.destination_mac.reserved?の説明を追加 #90)
  def packet_in(_datapath_id, message)
    return if message.destination_mac.reserved?
  • Trema (OpenFlow1.3) の改善ポイント?:
    TremaのOpenFlow1.3で書いてて気持ち悪いところや改善できそうなことがあったら何でも教えてください。たとえば前に聞いたと思いますが、FlowModするときにマッチが不要なところでもいちいち match: Match.new と書かなければいけないのは直したほうがいい気がします。
    send_flow_mod_add(
      datapath_id,
      table_id: FORWARDING_TABLE_ID,
      idle_timeout: 0,
      priority: 1,
      match: Match.new,
      instructions: Apply.new([SendOutPort.new(:controller),
                               SendOutPort.new(:flood)])
    )

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions