package frenetic

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

Module Frenetic_netkat.SemanticsSource

Frenetic_kernel.Packets

If we only defined the semantics and were not building a system, a packet would only be a record of headers. However, the runtime needs to apply eval to packets contained in PACKET_IN mesages. For the runtime, packets also carry a payload that is unmodified by eval.

Sourcemodule HeadersValues : sig ... end

A map keyed by header names.

Sourcetype packet = {
  1. switch : Syntax.switchId;
  2. headers : HeadersValues.t;
  3. payload : Syntax.payload;
}
Sourcemodule PacketSet : Core.Set.S with type Elt.t = packet

Semantics

Sourceval eval : packet -> Syntax.policy -> PacketSet.t
Sourceval eval_pipes : packet -> Syntax.policy -> (string * packet) list * (string * packet) list * packet list
Sourceval size : Syntax.policy -> int
Sourceval queries_of_policy : Syntax.policy -> string list
Sourceval switches_of_policy : Syntax.policy -> Syntax.switchId list
OCaml

Innovation. Community. Security.