Skip to content

Of0x05 modify state #161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 28 commits into
base: of0x05
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
64ce330
preliminary OF1.4 implementation, with portdesc structure
fugitifduck Aug 5, 2014
372912e
import FlowMatch structure from OF1.4
fugitifduck Aug 5, 2014
1f160b3
add new OXM TLV (PBB UCA)
fugitifduck Aug 5, 2014
f2c73bd
import Instruction and Action structure from of1.4
fugitifduck Aug 5, 2014
2fc84b1
add experimenter and new message
fugitifduck Aug 5, 2014
3cf85b1
correct switchFeatures padding
fugitifduck Aug 5, 2014
8ccc756
add switchConfig module
fugitifduck Aug 5, 2014
d743fe7
fix padding
fugitifduck Aug 5, 2014
d73de80
add switchConfig type
fugitifduck Aug 5, 2014
4a179b8
add roundtrip test for of0x05
fugitifduck Aug 5, 2014
046040d
add quicheck file
fugitifduck Aug 6, 2014
f2b8662
export type as t for instruction
fugitifduck Aug 6, 2014
cc426ea
export type as t for instructions
fugitifduck Aug 6, 2014
a225b32
export type as t for action
fugitifduck Aug 6, 2014
f189d42
reuse of of1.3 module
fugitifduck Aug 6, 2014
0670255
Merge branch 'LearningSwitch0x04' into of0x05
fugitifduck Aug 6, 2014
860cc37
reuse of switchConfig from of1.3
fugitifduck Aug 6, 2014
3f005e8
add tablemod
fugitifduck Aug 7, 2014
5cce00f
add flowmod message
fugitifduck Aug 7, 2014
7c8f850
add rountrip test for flowmod
fugitifduck Aug 7, 2014
11282f8
Merge branch 'GroupMod' into of0x05_modifyState
fugitifduck Aug 7, 2014
4d2bb1d
import groupMod and Bucket from 1.3
fugitifduck Aug 7, 2014
f863084
add new message
fugitifduck Aug 7, 2014
a0ff54e
add PortMod module and properties tlv
fugitifduck Aug 7, 2014
ae145e0
add rountrip test for PortMod
fugitifduck Aug 7, 2014
f830c1c
add PortMod to message
fugitifduck Aug 7, 2014
36aa766
import MeterMod module from OF1.3
fugitifduck Aug 7, 2014
248b91c
Merge branch 'master' into of0x05_modifyState
fugitifduck Aug 13, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions _oasis
Original file line number Diff line number Diff line change
@@ -41,6 +41,8 @@ Library openflow
OpenFlow0x01_Stats,
OpenFlow0x04,
OpenFlow0x04_Core,
OpenFlow0x05,
OpenFlow0x05_Core,
SDN_OpenFlow0x01,
SDN_OpenFlow0x04,
GroupTable0x04,
@@ -83,6 +85,7 @@ Library quickcheck
Arbitrary_OpenFlow,
Arbitrary_OpenFlow0x01,
Arbitrary_OpenFlow0x04,
Arbitrary_OpenFlow0x05,
Arbitrary_SDN_Types

Executable testtool
6 changes: 6 additions & 0 deletions lib/OpenFlow0x04.ml
Original file line number Diff line number Diff line change
@@ -2358,6 +2358,8 @@ end

module Action = struct

type t = action

type sequence = OpenFlow0x04_Core.actionSequence

let sizeof (act : action) : int = match act with
@@ -2976,6 +2978,8 @@ end

module Instruction = struct

type t = instruction

let to_string ins =
match ins with
| GotoTable t -> Format.sprintf "Go to Table = %u" t
@@ -3095,6 +3099,8 @@ end

module Instructions = struct

type t = instruction list

let sizeof (inss : instruction list) : int =
sum (map Instruction.sizeof inss)

22 changes: 14 additions & 8 deletions lib/OpenFlow0x04.mli
Original file line number Diff line number Diff line change
@@ -124,6 +124,8 @@ end

module Action : sig

type t = action

type sequence = OpenFlow0x04_Core.actionSequence

val sizeof : action -> int
@@ -221,25 +223,29 @@ end

module Instruction : sig

val to_string : instruction -> string
type t = instruction

val sizeof : instruction -> int
val to_string : t -> string

val marshal : Cstruct.t -> instruction -> int
val sizeof : t -> int

val marshal : Cstruct.t -> t -> int

val parse : Cstruct.t -> instruction
val parse : Cstruct.t -> t

end

module Instructions : sig

val sizeof : instruction list -> int
type t = instruction list

val marshal : Cstruct.t -> instruction list -> int
val sizeof : t -> int

val to_string : instruction list -> string
val marshal : Cstruct.t -> t -> int

val parse : Cstruct.t -> instruction list
val to_string : t -> string

val parse : Cstruct.t -> t

end

Loading