package frenetic

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Fdd.FieldSource

Sourcetype t =
  1. | Switch
  2. | Location
  3. | From
  4. | AbstractLoc
  5. | VSwitch
  6. | VPort
  7. | Vlan
  8. | VlanPcp
  9. | Meta0
  10. | Meta1
  11. | Meta2
  12. | Meta3
  13. | Meta4
  14. | EthType
  15. | IPProto
  16. | EthSrc
  17. | EthDst
  18. | IP4Src
  19. | IP4Dst
  20. | TCPSrcPort
  21. | TCPDstPort
  22. | VFabric

Fields are analogous to binary variables in a BDD. These are pretty much the same as matchable fields in OpenFlow. To this list, we add VSwitch, VPort and VFabric for the virtual compiler. These are not actual matchable fields in OpenFlow, but are converted to Switch and Port in the compilation process.

The constructors in type t are listed in the default order, which is acceptable for many NetKAT programs.

This module implements the the HashCmp signature from the Vlr package, so it becomes the "V" in VLR.

include Ppx_sexp_conv_lib.Sexpable.S with type t := t
Sourcetype field = t
include Vlr.HashCmp with type t := t
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
Sourceval t_of_sexp : Sexplib0__.Sexp.t -> t
Sourceval sexp_of_t : t -> Sexplib0__.Sexp.t
Sourcemodule Env : sig ... end

environment, mapping meta field identifiers to static FDD fields, and, for convenience, the initializer and mutability of the identifier

Sourceval all : t list

all returns the default field field ordering

Sourceval compare : t -> t -> int

compare f1 f2 compares two fields in the current ordering in the usual way.

Sourceval equal : t -> t -> bool
Sourceval of_hv : ?env:Env.t -> Syntax.header_val -> t

of_hv header_value converts a NetKAT header_value pair to a field

Sourceval of_string : string -> t

of_string str converts a field string to an abstract field. Throws an exception for unrecognized strings.

Sourceval to_string : t -> string

to_string field returns a human-readable representation

Sourceval set_order : t list -> unit

set_order field_list sets the field ordering to the given list. Any non-listed fields are given low priority in random order.

Sourceval get_order : unit -> t list

get_order returns the current field ordering. All fields are returned.

Sourceval auto_order : Syntax.policy -> unit

auto_order policy heurisitically determines the field ordering given a policy

OCaml

Innovation. Community. Security.