package frenetic
Install
Dune Dependency
Authors
Maintainers
Sources
md5=baf754df13a759c32f2c86a1b6f328da
sha512=80140900e7009ccab14b25e244fe7edab87d858676f8a4b3799b4fea16825013cf68363fe5faec71dd54ba825bb4ea2f812c2c666390948ab217ffa75d9cbd29
doc/frenetic.kernel/Frenetic_kernel/GroupTable0x04/index.html
Module Frenetic_kernel.GroupTable0x04
Source
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
val add_group :
t ->
OpenFlow0x04.groupType ->
OpenFlow0x04.bucket list ->
OpenFlow0x04.groupId
Creates a new group, allocating a fresh ID.
Produces a list of messages to realize the previous add_group
and clear_groups
commands, upto the last commit
command.
Creates a new fast fail group which forwards out of the first live port in * ports
and otherwise drops.