tres/controller: Refactored to split aliases into actions and instructions respectively (#18)
This commit is contained in:
parent
715bead2ff
commit
1e3e7f78ba
4 changed files with 100 additions and 80 deletions
82
lib/tres/actions.ex
Normal file
82
lib/tres/actions.ex
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
defmodule Tres.Actions do
|
||||||
|
@moduledoc """
|
||||||
|
Action aliases
|
||||||
|
"""
|
||||||
|
|
||||||
|
defmacro __using__(_) do
|
||||||
|
quote do
|
||||||
|
alias Openflow.Action.Output
|
||||||
|
alias Openflow.Action.CopyTtlOut
|
||||||
|
alias Openflow.Action.CopyTtlIn
|
||||||
|
alias Openflow.Action.SetMplsTtl
|
||||||
|
alias Openflow.Action.DecMplsTtl
|
||||||
|
alias Openflow.Action.PushVlan
|
||||||
|
alias Openflow.Action.PopVlan
|
||||||
|
alias Openflow.Action.PushMpls
|
||||||
|
alias Openflow.Action.PopMpls
|
||||||
|
alias Openflow.Action.SetQueue
|
||||||
|
alias Openflow.Action.Group
|
||||||
|
alias Openflow.Action.SetNwTtl
|
||||||
|
alias Openflow.Action.DecNwTtl
|
||||||
|
alias Openflow.Action.SetField
|
||||||
|
alias Openflow.Action.PushPbb
|
||||||
|
alias Openflow.Action.PopPbb
|
||||||
|
alias Openflow.Action.Encap
|
||||||
|
alias Openflow.Action.Decap
|
||||||
|
alias Openflow.Action.SetSequence
|
||||||
|
alias Openflow.Action.ValidateSequence
|
||||||
|
|
||||||
|
alias Openflow.Action.NxResubmit
|
||||||
|
alias Openflow.Action.NxSetTunnel
|
||||||
|
alias Openflow.Action.NxSetQueue
|
||||||
|
alias Openflow.Action.NxPopQueue
|
||||||
|
alias Openflow.Action.NxRegMove
|
||||||
|
alias Openflow.Action.NxRegLoad
|
||||||
|
alias Openflow.Action.NxNote
|
||||||
|
alias Openflow.Action.NxSetTunnel64
|
||||||
|
alias Openflow.Action.NxMultipath
|
||||||
|
alias Openflow.Action.NxBundle
|
||||||
|
alias Openflow.Action.NxBundleLoad
|
||||||
|
alias Openflow.Action.NxResubmitTable
|
||||||
|
alias Openflow.Action.NxOutputReg
|
||||||
|
alias Openflow.Action.NxLearn
|
||||||
|
alias Openflow.Action.NxExit
|
||||||
|
alias Openflow.Action.NxDecTtl
|
||||||
|
alias Openflow.Action.NxFinTimeout
|
||||||
|
alias Openflow.Action.NxController
|
||||||
|
alias Openflow.Action.NxDecTtlCntIds
|
||||||
|
alias Openflow.Action.NxWriteMetadata
|
||||||
|
alias Openflow.Action.NxPushMpls
|
||||||
|
alias Openflow.Action.NxPopMpls
|
||||||
|
alias Openflow.Action.NxSetMplsTtl
|
||||||
|
alias Openflow.Action.NxDecMplsTtl
|
||||||
|
alias Openflow.Action.NxStackPush
|
||||||
|
alias Openflow.Action.NxStackPop
|
||||||
|
alias Openflow.Action.NxSample
|
||||||
|
alias Openflow.Action.NxSetMplsLabel
|
||||||
|
alias Openflow.Action.NxSetMplsTc
|
||||||
|
alias Openflow.Action.NxOutputReg2
|
||||||
|
alias Openflow.Action.NxRegLoad2
|
||||||
|
alias Openflow.Action.NxConjunction
|
||||||
|
alias Openflow.Action.NxConntrack
|
||||||
|
alias Openflow.Action.NxNat
|
||||||
|
alias Openflow.Action.NxController2
|
||||||
|
alias Openflow.Action.NxSample2
|
||||||
|
alias Openflow.Action.NxOutputTrunc
|
||||||
|
alias Openflow.Action.NxGroup
|
||||||
|
alias Openflow.Action.NxSample3
|
||||||
|
alias Openflow.Action.NxClone
|
||||||
|
alias Openflow.Action.NxCtClear
|
||||||
|
alias Openflow.Action.NxResubmitTableCt
|
||||||
|
alias Openflow.Action.NxLearn2
|
||||||
|
alias Openflow.Action.NxEncap
|
||||||
|
alias Openflow.Action.NxDecap
|
||||||
|
alias Openflow.Action.NxDebugRecirc
|
||||||
|
alias Openflow.Action.NxCheckPktLarger
|
||||||
|
|
||||||
|
alias Openflow.Action.NxFlowSpecMatch
|
||||||
|
alias Openflow.Action.NxFlowSpecLoad
|
||||||
|
alias Openflow.Action.NxFlowSpecOutput
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -10,7 +10,9 @@ defmodule Tres.Controller do
|
||||||
get_current_xid: 1
|
get_current_xid: 1
|
||||||
]
|
]
|
||||||
|
|
||||||
|
use Tres.Actions
|
||||||
use Tres.Messages
|
use Tres.Messages
|
||||||
|
use Tres.Instructions
|
||||||
use Tres.MessageHelper
|
use Tres.MessageHelper
|
||||||
|
|
||||||
def handler_spec(dpid) do
|
def handler_spec(dpid) do
|
||||||
|
|
|
||||||
16
lib/tres/instructions.ex
Normal file
16
lib/tres/instructions.ex
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
defmodule Tres.Instructions do
|
||||||
|
@moduledoc """
|
||||||
|
Instruction Aliases
|
||||||
|
"""
|
||||||
|
|
||||||
|
defmacro __using__(_) do
|
||||||
|
quote do
|
||||||
|
alias Openflow.Instruction.GotoTable
|
||||||
|
alias Openflow.Instruction.WriteMetadata
|
||||||
|
alias Openflow.Instruction.WriteActions
|
||||||
|
alias Openflow.Instruction.ApplyActions
|
||||||
|
alias Openflow.Instruction.ClearActions
|
||||||
|
alias Openflow.Instruction.Meter
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -43,86 +43,6 @@ defmodule Tres.Messages do
|
||||||
alias Openflow.Multipart.TableFeatures
|
alias Openflow.Multipart.TableFeatures
|
||||||
alias Openflow.Multipart.PortDesc
|
alias Openflow.Multipart.PortDesc
|
||||||
|
|
||||||
alias Openflow.Instruction.GotoTable
|
|
||||||
alias Openflow.Instruction.WriteMetadata
|
|
||||||
alias Openflow.Instruction.WriteActions
|
|
||||||
alias Openflow.Instruction.ApplyActions
|
|
||||||
alias Openflow.Instruction.ClearActions
|
|
||||||
alias Openflow.Instruction.Meter
|
|
||||||
|
|
||||||
alias Openflow.Action.Output
|
|
||||||
alias Openflow.Action.CopyTtlOut
|
|
||||||
alias Openflow.Action.CopyTtlIn
|
|
||||||
alias Openflow.Action.SetMplsTtl
|
|
||||||
alias Openflow.Action.DecMplsTtl
|
|
||||||
alias Openflow.Action.PushVlan
|
|
||||||
alias Openflow.Action.PopVlan
|
|
||||||
alias Openflow.Action.PushMpls
|
|
||||||
alias Openflow.Action.PopMpls
|
|
||||||
alias Openflow.Action.SetQueue
|
|
||||||
alias Openflow.Action.Group
|
|
||||||
alias Openflow.Action.SetNwTtl
|
|
||||||
alias Openflow.Action.DecNwTtl
|
|
||||||
alias Openflow.Action.SetField
|
|
||||||
alias Openflow.Action.PushPbb
|
|
||||||
alias Openflow.Action.PopPbb
|
|
||||||
alias Openflow.Action.Encap
|
|
||||||
alias Openflow.Action.Decap
|
|
||||||
alias Openflow.Action.SetSequence
|
|
||||||
alias Openflow.Action.ValidateSequence
|
|
||||||
|
|
||||||
alias Openflow.Action.NxResubmit
|
|
||||||
alias Openflow.Action.NxSetTunnel
|
|
||||||
alias Openflow.Action.NxSetQueue
|
|
||||||
alias Openflow.Action.NxPopQueue
|
|
||||||
alias Openflow.Action.NxRegMove
|
|
||||||
alias Openflow.Action.NxRegLoad
|
|
||||||
alias Openflow.Action.NxNote
|
|
||||||
alias Openflow.Action.NxSetTunnel64
|
|
||||||
alias Openflow.Action.NxMultipath
|
|
||||||
alias Openflow.Action.NxBundle
|
|
||||||
alias Openflow.Action.NxBundleLoad
|
|
||||||
alias Openflow.Action.NxResubmitTable
|
|
||||||
alias Openflow.Action.NxOutputReg
|
|
||||||
alias Openflow.Action.NxLearn
|
|
||||||
alias Openflow.Action.NxExit
|
|
||||||
alias Openflow.Action.NxDecTtl
|
|
||||||
alias Openflow.Action.NxFinTimeout
|
|
||||||
alias Openflow.Action.NxController
|
|
||||||
alias Openflow.Action.NxDecTtlCntIds
|
|
||||||
alias Openflow.Action.NxWriteMetadata
|
|
||||||
alias Openflow.Action.NxPushMpls
|
|
||||||
alias Openflow.Action.NxPopMpls
|
|
||||||
alias Openflow.Action.NxSetMplsTtl
|
|
||||||
alias Openflow.Action.NxDecMplsTtl
|
|
||||||
alias Openflow.Action.NxStackPush
|
|
||||||
alias Openflow.Action.NxStackPop
|
|
||||||
alias Openflow.Action.NxSample
|
|
||||||
alias Openflow.Action.NxSetMplsLabel
|
|
||||||
alias Openflow.Action.NxSetMplsTc
|
|
||||||
alias Openflow.Action.NxOutputReg2
|
|
||||||
alias Openflow.Action.NxRegLoad2
|
|
||||||
alias Openflow.Action.NxConjunction
|
|
||||||
alias Openflow.Action.NxConntrack
|
|
||||||
alias Openflow.Action.NxNat
|
|
||||||
alias Openflow.Action.NxController2
|
|
||||||
alias Openflow.Action.NxSample2
|
|
||||||
alias Openflow.Action.NxOutputTrunc
|
|
||||||
alias Openflow.Action.NxGroup
|
|
||||||
alias Openflow.Action.NxSample3
|
|
||||||
alias Openflow.Action.NxClone
|
|
||||||
alias Openflow.Action.NxCtClear
|
|
||||||
alias Openflow.Action.NxResubmitTableCt
|
|
||||||
alias Openflow.Action.NxLearn2
|
|
||||||
alias Openflow.Action.NxEncap
|
|
||||||
alias Openflow.Action.NxDecap
|
|
||||||
alias Openflow.Action.NxDebugRecirc
|
|
||||||
alias Openflow.Action.NxCheckPktLarger
|
|
||||||
|
|
||||||
alias Openflow.Action.NxFlowSpecMatch
|
|
||||||
alias Openflow.Action.NxFlowSpecLoad
|
|
||||||
alias Openflow.Action.NxFlowSpecOutput
|
|
||||||
|
|
||||||
alias Tres.SwitchRegistry
|
alias Tres.SwitchRegistry
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue