package frenetic

  1. Overview
  2. Docs
The Frenetic Programming Language and Runtime System

Install

Dune Dependency

Authors

Maintainers

Sources

5.0.5.tar.gz
md5=baf754df13a759c32f2c86a1b6f328da
sha512=80140900e7009ccab14b25e244fe7edab87d858676f8a4b3799b4fea16825013cf68363fe5faec71dd54ba825bb4ea2f812c2c666390948ab217ffa75d9cbd29

doc/frenetic.kernel/Frenetic_kernel/GroupTable0x04/index.html

Module Frenetic_kernel.GroupTable0x04Source

Abstract version of group table, first introduced in OpenFlow 1.1 and widely implemented in OpenFlow 1.3. Generally there is one group table per switch.

A group table combines (1) a list of actions into a bucket - the bucket may, for example, modify some packet headers and send it out a port. (2) a set of action buckets into a group. Only one action bucket is executed, but the choice between buckets is made by "liveness" (as in a fast failover group) or round-robin.

This version of a group table is mutable - you create a group table, then add groups or clear them out with operations.

TODO: This should probably be merged with OpenFlow since it's an abstraction. Also commit should produce a OpenFlow0x04 structure directly, like to_par, to_seq, etc. in OpenFlow

Sourcetype t
Sourceval to_string : t -> string

String representation of group table.

Sourceval create : unit -> t

Create a new group table

Creates a new group, allocating a fresh ID.

Sourceval clear_groups : t -> unit

Forgets all groups

Sourceval commit : t -> OpenFlow0x04.Message.t list

Produces a list of messages to realize the previous add_group and clear_groups commands, upto the last commit command.

Sourceval add_fastfail_group : t -> OpenFlow0x04.portId list -> OpenFlow0x04.groupId

Creates a new fast fail group which forwards out of the first live port in * ports and otherwise drops.

OCaml

Innovation. Community. Security.