Fdd.ActionSourcetype t = Par.tinclude Ppx_sexp_conv_lib.Sexpable.S with type t := tinclude Vlr.Result with type t := tAn associative and commutative binary operation over the type t. The following should hold:
sum a (sum b c) = sum (sum a b) c.sum a b = sum b a.one returns identify action, which is a modification representing "no modifications"
negate action implements negation for the zero and one actions. Any non-zero action will be mapped to zero by this function.
to_policy a converts an action to a NetKAT policy. Since it's only modifications, it will have no predicates
val to_sdn :
?group_tbl:Frenetic_kernel.GroupTable0x04.t ->
Core.Int64.t option ->
t ->
Frenetic_kernel.OpenFlow.parto_sdn switch action converts a NetKAT action to an SDN action. At the moment this function assumes that fields are assigned to proper bitwidth integers, and does no validation along those lines. If the input is derived from a NetKAT surface syntax program, then this assumption likely holds.
get_queries action returns a list of queries used in actions. May have dupes.
queries action returns a de-duped set of queries referenced in action