message_filter

trema event handler filter utilities.

Gem Version Build Status Code Climate Dependency Status Gitter chat

How this works?

Architechture

  • Rule based message filtering.
  • filter passes values to rule, same as the "type". ruby filter type: :packet_in, handler: :handle_lldp, rule: :lldp?
  • filter calls message_handler when it receives a openflow message from the switch and filter rule returns true

Current Status

  • This is not completely implemented.
  • implement default handler rule.
  • Testbed for topology manager.
  • Testbed for slice manager.

Features

  • Declarative Handler filter rule format DSL so that easy to read and debug by human beings.

Examples

  • TODO
require 'message_filter'

class Sample < Controller
  include MessageFilter

  # message filter rules
  filter type: :packet_in, handler: :handle_lldp, rule: :lldp?
  filter type: :packet_in, handler: :handle_ipv4, rule: :ipv4?
  filter type: :packet_in, handler: :handle_arp, rule: :should_flood?
  filter type: :packet_in, handler: :handle_packet_in, rule: :default
end

Documents

  • TODO

License

message filter is released under the GNU General Public License version 3.0: