OpenFlow.PatternSourcetype t = {dlSrc : Packet.dlAddr option;dlDst : Packet.dlAddr option;dlTyp : Packet.dlTyp option;dlVlan : Packet.dlVlan;dlVlanPcp : Packet.dlVlanPcp option;nwSrc : Ip.t option;nwDst : Ip.t option;nwProto : Packet.nwProto option;tpSrc : Packet.tpPort option;tpDst : Packet.tpPort option;inPort : portId option;}WARNING: There are dependencies between different fields that must be met
less_eq p1 p2 returns true when p2 matches any packet that p1 will match
join p1 p2 is the least pattern pm such that less_eq p1 pm and less_eq p2 pm