diff --git a/lib/openflow/actions/nx_pop_mpls.ex b/lib/openflow/actions/nx_pop_mpls.ex deleted file mode 100644 index c01a44e..0000000 --- a/lib/openflow/actions/nx_pop_mpls.ex +++ /dev/null @@ -1,28 +0,0 @@ -defmodule Openflow.Action.NxPopMpls do - defstruct(ethertype: 0x8847) - - @experimenter 0x00002320 - @nxast 24 - - @eth_p_mpls_uc 0x8847 - - alias __MODULE__ - alias Openflow.Action.Experimenter - - def new(ethertype \\ @eth_p_mpls_uc) do - %NxPopMpls{ethertype: ethertype} - end - - def to_binary(%NxPopMpls{ethertype: ethertype}) do - Experimenter.pack_exp_header(<< - @experimenter::32, - @nxast::16, - ethertype::16, - 0::size(4)-unit(8) - >>) - end - - def read(<<@experimenter::32, @nxast::16, ethertype::16, _::size(4)-unit(8)>>) do - %NxPopMpls{ethertype: ethertype} - end -end diff --git a/lib/openflow/actions/nx_push_mpls.ex b/lib/openflow/actions/nx_push_mpls.ex deleted file mode 100644 index 8a12d9e..0000000 --- a/lib/openflow/actions/nx_push_mpls.ex +++ /dev/null @@ -1,28 +0,0 @@ -defmodule Openflow.Action.NxPushMpls do - defstruct(ethertype: 0x8847) - - @experimenter 0x00002320 - @nxast 23 - - @eth_p_mpls_uc 0x8847 - - alias __MODULE__ - alias Openflow.Action.Experimenter - - def new(ethertype \\ @eth_p_mpls_uc) do - %NxPushMpls{ethertype: ethertype} - end - - def to_binary(%NxPushMpls{ethertype: ethertype}) do - Experimenter.pack_exp_header(<< - @experimenter::32, - @nxast::16, - ethertype::16, - 0::size(4)-unit(8) - >>) - end - - def read(<<@experimenter::32, @nxast::16, ethertype::16, _::size(4)-unit(8)>>) do - %NxPushMpls{ethertype: ethertype} - end -end diff --git a/lib/openflow/actions/nx_sample.ex b/lib/openflow/actions/nx_sample.ex index cc725ae..a1068bb 100644 --- a/lib/openflow/actions/nx_sample.ex +++ b/lib/openflow/actions/nx_sample.ex @@ -13,6 +13,9 @@ defmodule Openflow.Action.NxSample do alias Openflow.Action.Experimenter def new(options \\ []) do + (is_integer(options[:probability]) and options[:probability] > 0) || + raise("probability must be greater than 0") + %NxSample{ probability: options[:probability] || 0, collector_set_id: options[:collector_set_id] || 0, diff --git a/lib/openflow/actions/nx_sample2.ex b/lib/openflow/actions/nx_sample2.ex index f6ba206..0cc7b6f 100644 --- a/lib/openflow/actions/nx_sample2.ex +++ b/lib/openflow/actions/nx_sample2.ex @@ -14,6 +14,9 @@ defmodule Openflow.Action.NxSample2 do alias Openflow.Action.Experimenter def new(options \\ []) do + (is_integer(options[:probability]) and options[:probability] > 0) || + raise("probability must be greater than 0") + %NxSample2{ probability: options[:probability] || 0, collector_set_id: options[:collector_set_id] || 0, diff --git a/lib/openflow/actions/nx_sample3.ex b/lib/openflow/actions/nx_sample3.ex index 5a01bb6..136cae6 100644 --- a/lib/openflow/actions/nx_sample3.ex +++ b/lib/openflow/actions/nx_sample3.ex @@ -15,6 +15,9 @@ defmodule Openflow.Action.NxSample3 do alias Openflow.Action.Experimenter def new(options \\ []) do + (is_integer(options[:probability]) and options[:probability] > 0) || + raise("probability must be greater than 0") + %NxSample3{ probability: options[:probability] || 0, collector_set_id: options[:collector_set_id] || 0, diff --git a/lib/openflow/actions/nx_set_tunnel64.ex b/lib/openflow/actions/nx_set_tunnel64.ex index 2ed89fb..e719dfd 100644 --- a/lib/openflow/actions/nx_set_tunnel64.ex +++ b/lib/openflow/actions/nx_set_tunnel64.ex @@ -7,7 +7,9 @@ defmodule Openflow.Action.NxSetTunnel64 do alias __MODULE__ alias Openflow.Action.Experimenter - @spec new(tunnel_id :: 0..0xFFFFFFFFFFFFFFFF) :: %NxSetTunnel64{tunnel_id: 0..0xFFFFFFFFFFFFFFFF} + @spec new(tunnel_id :: 0..0xFFFFFFFFFFFFFFFF) :: %NxSetTunnel64{ + tunnel_id: 0..0xFFFFFFFFFFFFFFFF + } def new(tunnel_id) do %NxSetTunnel64{tunnel_id: tunnel_id} end diff --git a/lib/openflow/enum_gen.ex b/lib/openflow/enum_gen.ex index 2b259cc..afeeb11 100644 --- a/lib/openflow/enum_gen.ex +++ b/lib/openflow/enum_gen.ex @@ -818,8 +818,8 @@ defmodule Openflow.EnumGen do {Openflow.Action.NxController, 20}, {Openflow.Action.NxDecTtlCntIds, 21}, {Openflow.Action.NxWriteMetadata, 22}, - {Openflow.Action.NxPushMpls, 23}, - {Openflow.Action.NxPopMpls, 24}, + # {Openflow.Action.NxPushMpls, 23}, # Deprecated + # {Openflow.Action.NxPopMpls, 24}, # Deprecated # {Openflow.Action.NxSetMplsTtl, 25}, Deprecated # {Openflow.Action.NxDecMplsTtl, 26}, Deprecated {Openflow.Action.NxStackPush, 27},