Frenetic_netkat.SyntaxSourceNetKAT Syntax
The NetKAT language is central to Frenetic, and we factor out the central types here. The big actors on NetKAT structures are Compiler which compiles NetKAT into flow tables, Parser which turns NetKAT strings (e.g "TcpSrcPort(8080); port := 2") into NetKAT, and Json which turns JSON-formatted NetKAT into NetKAT
Basics
val equal_abstract_location :
abstract_location ->
abstract_location ->
Ppx_deriving_runtime.boolval hash_fold_abstract_location :
Ppx_hash_lib.Std.Hash.state ->
abstract_location ->
Ppx_hash_lib.Std.Hash.statetype header_val = | Switch of switchId| Location of location| EthSrc of Frenetic_kernel.Packet.dlAddr| EthDst of Frenetic_kernel.Packet.dlAddr| Vlan of Frenetic_kernel.Packet.int16| VlanPcp of Frenetic_kernel.Packet.dlVlanPcp| EthType of Frenetic_kernel.Packet.dlTyp| IPProto of Frenetic_kernel.Packet.nwProto| IP4Src of Frenetic_kernel.Packet.nwAddr * int32| IP4Dst of Frenetic_kernel.Packet.nwAddr * int32| TCPSrcPort of Frenetic_kernel.Packet.tpPort| TCPDstPort of Frenetic_kernel.Packet.tpPort| VSwitch of vswitchId| VPort of vportId| VFabric of vfabricId| Meta of metaId * int64| From of abstract_location| AbstractLoc of abstract_location