Skip to content
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

Of0x05 multipart #162

Open
wants to merge 38 commits into
base: of0x05
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 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
a742745
Merge branch 'tableFeat' into of0x05_multipart
fugitifduck Aug 8, 2014
f8b1706
import multipart request message from of1.3 and update existing multi…
fugitifduck Aug 9, 2014
b5baadb
add TableDesc Req message
fugitifduck Aug 10, 2014
b897511
add QueueDesc Req message
fugitifduck Aug 10, 2014
fcbc3a8
add FlowMonitor message to multipart
fugitifduck Aug 11, 2014
b268858
Merge branch 'tableFeat' into of0x05_multipart
fugitifduck Aug 11, 2014
2292620
add missing interface for length function
fugitifduck Aug 12, 2014
5e5069a
import multipart reply module from of1.3
fugitifduck Aug 12, 2014
d1dc4b4
add FlowMonitored Reply message
fugitifduck Aug 12, 2014
2111bea
multipart messages :
fugitifduck Aug 13, 2014
4de09fd
add multipart message Message module
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
Expand Up @@ -41,6 +41,8 @@ Library openflow
OpenFlow0x01_Stats,
OpenFlow0x04,
OpenFlow0x04_Core,
OpenFlow0x05,
OpenFlow0x05_Core,
SDN_OpenFlow0x01,
SDN_OpenFlow0x04,
GroupTable0x04,
Expand Down Expand Up @@ -83,6 +85,7 @@ Library quickcheck
Arbitrary_OpenFlow,
Arbitrary_OpenFlow0x01,
Arbitrary_OpenFlow0x04,
Arbitrary_OpenFlow0x05,
Arbitrary_SDN_Types

Executable testtool
Expand Down
8 changes: 7 additions & 1 deletion lib/OpenFlow0x04.ml
Original file line number Diff line number Diff line change
Expand Up @@ -2358,6 +2358,8 @@ end

module Action = struct

type t = action

type sequence = OpenFlow0x04_Core.actionSequence

let sizeof (act : action) : int = match act with
Expand Down Expand Up @@ -2955,6 +2957,8 @@ end

module Instruction = struct

type t = instruction

let to_string ins =
match ins with
| GotoTable t -> Format.sprintf "Go to Table = %u" t
Expand Down Expand Up @@ -3074,6 +3078,8 @@ end

module Instructions = struct

type t = instruction list

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

Expand Down Expand Up @@ -3909,7 +3915,7 @@ module ActionHdr = struct
| PopPbbHdr
| SetMplsTtlHdr
| DecMplsTtlHdr
| SetQueueHdr
| SetQueueHdr -> 4
| ExperimenterAHdr _ -> 8

let to_string (act : t) =
Expand Down
35 changes: 27 additions & 8 deletions lib/OpenFlow0x04.mli
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ end

module Action : sig

type t = action

type sequence = OpenFlow0x04_Core.actionSequence

val sizeof : action -> int
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -474,6 +480,9 @@ module GroupStats : sig
val marshal : Cstruct.t -> groupStats -> int

val parse : Cstruct.t -> groupStats

val length_func : Cstruct.t -> int option

end

module SwitchDescriptionReply : sig
Expand Down Expand Up @@ -503,6 +512,8 @@ module FlowStats : sig

val parse : Cstruct.t -> flowStats

val length_func : Cstruct.t -> int option

end


Expand Down Expand Up @@ -532,6 +543,8 @@ module TableStats : sig

val parse : Cstruct.t -> tableStats

val length_func : Cstruct.t -> int option

end

module PortStats : sig
Expand Down Expand Up @@ -574,6 +587,8 @@ module GroupDesc : sig

val parse : Cstruct.t -> groupDesc

val length_func : Cstruct.t -> int option

end

module GroupFeatures : sig
Expand Down Expand Up @@ -602,6 +617,8 @@ module MeterStats : sig

val parse : Cstruct.t -> meterStats

val length_func : Cstruct.t -> int option

end

module MeterConfig : sig
Expand All @@ -616,6 +633,8 @@ module MeterConfig : sig

val parse : Cstruct.t -> meterConfig

val length_func : Cstruct.t -> int option

end


Expand Down
Loading