openflow/actions: nx_{pop|push}_mpls are deprecated in OpenFlow13

This commit is contained in:
Eishun Kondoh 2019-04-24 00:14:01 +09:00
parent 9f770fc995
commit 1ac5aa265e
7 changed files with 14 additions and 59 deletions

View file

@ -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

View file

@ -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

View file

@ -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,

View file

@ -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,

View file

@ -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,

View file

@ -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

View file

@ -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},