Skip to content

Instantly share code, notes, and snippets.

@yasuhito
Created July 6, 2011 01:00
Show Gist options
  • Save yasuhito/1066316 to your computer and use it in GitHub Desktop.
Save yasuhito/1066316 to your computer and use it in GitHub Desktop.
Trema Ruby Refactoring TODO
  • OFPT_* messages
  • /* Immutable messages. */
  • OFPT_HELLO ... TEST, DOC (とりあえず完了)
  • OFPT_ERROR ... TEST, DOC (とりあえず完了)
  • OFPT_ECHO_REQUEST ... TEST, DOC (とりあえず完了)
  • OFPT_ECHO_REPLY ... TEST, DOC (とりあえず完了)
  • OFPT_VENDOR ... TEST, DOC (とりあえず完了)
  • /* Switch configuration messages. */
  • OFPT_FEATURES_REQUEST ... TEST, DOC (とりあえず完了)
  • OFPT_FEATURES_REPLY ... TEST, DOC
  • OFPT_GET_CONFIG_REQUEST ... TEST, DOC
  • OFPT_GET_CONFIG_REPLY ... TEST, DOC
  • OFPT_SET_CONFIG ... TEST, DOC
  • /* Asynchronous messages. */
  • OFPT_PACKET_IN ... TEST, DOC
  • OFPT_FLOW_REMOVED ... TEST, DOC
  • OFPT_PORT_STATUS ... TEST, DOC
  • /* Controller command messages. */
  • OFPT_PACKET_OUT ... TEST, DOC
  • OFPT_FLOW_MOD ... TEST, DOC
  • OFPT_PORT_MOD ... TEST, DOC
  • /* Statistics messages. */
  • OFPT_STATS_REQUEST ... TEST, DOC
  • OFPT_STATS_REPLY ... TEST, DOC
  • /* Barrier messages. */
  • OFPT_BARRIER_REQUEST ... TEST, DOC
  • OFPT_BARRIER_REPLY ... TEST, DOC
  • /* Queue Configuration messages. */
  • OFPT_QUEUE_GET_CONFIG_REQUEST ... TEST, DOC
  • OFPT_QUEUE_GET_CONFIG_REPLY ... TEST, DOC

  • porting src/examples/* into Ruby
  • dumper
  • openflow_message
  • cbench_switch
  • porting trema/apps/* into Ruby
  • routing_switch (topology)
  • simple_load_balancer
  • redirectable_routing_switch
  • Refactoring
  • Hello ... Code, Test, Document
  • Error ... Code, Test, Document

  • flow-mod messages
  • Trema::Controller#send_flow_mod_add()
  • Trema::Controller#send_flow_mod_modify()
  • Trema::Controller#send_flow_mod_delete()
  • Actions
  • Trema::ActionOutput
  • Trema::ActionSetDlSrc
  • Trema::ActionSetDlDst
  • Trema::ActionEnqueue
  • Trema::ActionSetNwSrc
  • Trema::ActionSetNwDst
  • Trema::ActionSetTpSrc
  • Trema::ActionSetTpDst
  • Trema::ActionSetNwTos
  • Trema::ActionSetVlanVid
  • Trema::ActionSetVlanPcp
  • Trema::ActionStripVlan
  • Asynchronous OpenFlow event handlers
  • Controller#flow_removed()
  • Controller#switch_disconnected()
  • Controller#port_status()
  • Controller#stats_reply()
  • Controller#openflow_error()
  • Controller#get_config_reply()
  • Controller#barrier_reply()
  • Controller#queue_get_config_reply()
  • Controller#vendor()
  • Controller#start()
  • Controller#switch_ready()
  • Controller#features_reply()
  • Controller#packet_in()
  • Timer event handlers
  • Controller.timer_event
  • Controller.periodic_timer_event
  • Controller.oneshot_timer_event
  • Controller#add_timer_event
  • Controller#add_periodic_timer_event
  • Controller#add_oneshot_timer_event
  • Match
  • Match.new( tuples = {} ) # e.g., Match.new( :in_port => 12, :dl_type => 0x800 )
  • Match.from( message, *wildcards )
  • ExactMatch.from( message ) # no wildcards, equivalent to Match.from( message )
  • Misc
  • Trema::Mac.new # Trema::Mac.new(0x6e9c68022047) and Trema::Mac.new("6e:9c:68:02:20:47")
@nickkaranatsios
Copy link

I will work on the above list prioritized from top to bottom.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment