Feature/bundle support (#15)

* openflow: Add bundle support

* openflow: Add bundle message generator and parser

* openflow: Add bundle API
This commit is contained in:
Eishun Kondoh 2019-03-04 04:03:25 +09:00 committed by GitHub
parent db68e81954
commit ec1cdb6eff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 388 additions and 11 deletions

View file

@ -63,14 +63,18 @@ defmodule LearningSwitch.Ofctl do
end
defp init_flow_tables(datapath_id) do
:ok = onf_bundle_open(datapath_id, bundle_id: 1, flags: [:atomic, :ordered])
for flow_options <- [
add_default_broadcast_flow_entry(),
add_default_flooding_flow_entry(),
add_multicast_mac_drop_flow_entry(),
add_ipv6_multicast_mac_drop_flow_entry(),
add_default_forwarding_flow_entry()] do
send_flow_mod_add(datapath_id, flow_options)
send_flow_mod_add(datapath_id, Keyword.merge(flow_options, [bundle_id: 1, bundle_flags: [:atomic, :ordered]]))
end
:ok = onf_bundle_commit(datapath_id, bundle_id: 1, flags: [:atomic, :ordered])
end
defp add_forwarding_flow_and_packet_out(packet_in, state) do