-
Notifications
You must be signed in to change notification settings - Fork 12
Closed
Description
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)])
)