tres v0.1.0 Openflow.FlowMod

Link to this section Summary

Link to this section Types

Link to this type

buffer_id()
buffer_id() :: :no_buffer | 0..4_294_967_295

Link to this type

command()
command() :: :add | :modify | :modify_strict | :delete | :delete_strict

Link to this type

flags()
flags() :: [
  :send_flow_rem
  | :check_overlap
  | :reset_counts
  | :no_packet_counts
  | :no_byte_counts
]

Link to this type

out_group()
out_group() :: Openflow.GroupMod.id()

Link to this type

out_port()
out_port() :: Openflow.Port.number()

Link to this type

t()
t() :: %Openflow.FlowMod{
  aux_id: 0..15 | nil,
  buffer_id: buffer_id(),
  command: command(),
  cookie: 0..18_446_744_073_709_551_615,
  cookie_mask: 0..18_446_744_073_709_551_615,
  datapath_id: String.t() | nil,
  flags: flags(),
  hard_timeout: 0..65535,
  idle_timeout: 0..65535,
  instructions: [
    %Openflow.Instruction.ApplyActions{actions: term()}
    | %Openflow.Instruction.WriteActions{actions: term()}
    | %Openflow.Instruction.ClearActions{}
    | %Openflow.Instruction.GotoTable{table_id: term()}
    | %Openflow.Instruction.Meter{meter_id: term()}
    | %Openflow.Instruction.WriteMetadata{mask: term(), value: term()}
  ],
  match: %Openflow.Match{fields: term(), type: term()},
  out_group: out_group(),
  out_port: out_port(),
  priority: 0..65535,
  table_id: 0..255,
  version: 4,
  xid: 0..4_294_967_295
}

Link to this section Functions

Link to this function

new(options \\ [])
new(
  xid: 0..4_294_967_295,
  cookie: 0..18_446_744_073_709_551_615,
  cookie_mask: 0..18_446_744_073_709_551_615,
  table_id: 0..15,
  command: command(),
  idle_timeout: 0..65535,
  hard_timeout: 0..65535,
  priority: 0..65535,
  buffer_id: buffer_id(),
  out_port: out_port(),
  out_group: out_group(),
  flags: flags(),
  match: %Openflow.Match{fields: term(), type: term()},
  instructions: [
    %Openflow.Instruction.ApplyActions{actions: term()}
    | %Openflow.Instruction.WriteActions{actions: term()}
    | %Openflow.Instruction.ClearActions{}
    | %Openflow.Instruction.GotoTable{table_id: term()}
    | %Openflow.Instruction.Meter{meter_id: term()}
    | %Openflow.Instruction.WriteMetadata{mask: term(), value: term()}
  ]
) :: t()

Link to this function

ofp_type()
ofp_type() :: 14

Link to this function

to_binary(flow_mod)