use core::marker::PhantomData;
#[doc(alias = "OfpType")]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum OpenflowType {
Hello,
EchoReq,
EchoReply,
FeaturesReq,
FeaturesReply,
PacketIn,
FlowMod,
PacketOut,
}
#[doc(alias = "OPENFLOW")]
#[doc(alias = "OpenFlow")]
#[doc(alias = "SDN")]
#[doc(alias = "6653")]
#[doc(alias = "ofp_header")]
#[doc(alias = "HELLO")]
#[doc(alias = "ECHO_REQ")]
#[doc(alias = "ECHO_REPLY")]
#[doc(alias = "FEATURES_REQ")]
#[doc(alias = "FEATURES_REPLY")]
#[doc(alias = "PACKET_IN")]
#[doc(alias = "PACKET_OUT")]
#[doc(alias = "FLOW_MOD")]
#[doc(alias = "VERSION")]
#[doc(alias = "XID")]
#[doc(alias = "DPID")]
#[doc(alias = "TABLE_ID")]
#[doc(alias = "PRIORITY")]
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct OpenflowSpec<'a> {
pub version: Option<u8>,
pub of_type: Option<OpenflowType>,
pub xid: Option<u32>,
pub dpid: Option<u64>,
pub table_id: Option<u8>,
pub priority: Option<u16>,
pub _marker: PhantomData<&'a ()>,
}