From c7f7873493527883b4e8ad676b84ed2ac0dba2d5 Mon Sep 17 00:00:00 2001 From: Eishun Kondoh Date: Fri, 28 Sep 2018 16:28:58 +0900 Subject: [PATCH] openflow/multipart: Add support NXST_FLOW_MONITOR --- lib/openflow/enum_gen.ex | 8 +++++++ .../multipart/flow_monitor/request.ex | 23 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 lib/openflow/multipart/flow_monitor/request.ex diff --git a/lib/openflow/enum_gen.ex b/lib/openflow/enum_gen.ex index 51e0a3d..046f5c1 100644 --- a/lib/openflow/enum_gen.ex +++ b/lib/openflow/enum_gen.ex @@ -990,6 +990,14 @@ defmodule Openflow.EnumGen do apply_setfield_miss: 15, experimenter: 0xFFFE, experimenter_miss: 0xFFFF + ], + nx_flow_monitor_flags: [ + initial: 1 <<< 0, + add: 1 <<< 1, + delete: 1 <<< 2, + modify: 1 <<< 3, + action: 1 <<< 4, + own: 1 <<< 5 ] ] diff --git a/lib/openflow/multipart/flow_monitor/request.ex b/lib/openflow/multipart/flow_monitor/request.ex new file mode 100644 index 0000000..18ea55e --- /dev/null +++ b/lib/openflow/multipart/flow_monitor/request.ex @@ -0,0 +1,23 @@ +defmodule Openflow.Multipart.FlowMonitor.Request do + defstruct( + version: 4, + xid: 0, + # virtual field + datapath_id: nil, + id: 0, + flags: [], + out_port: :none, + table_id: :all, + match: [] + ) + + alias __MODULE__ + + def new(%Request{}) do + <<>> + end + + def read(_binary) do + %Request{} + end +end