Skip to main content

FlowRecord

Enum FlowRecord 

Source
pub enum FlowRecord {
Show 44 variants RawPacketHeader(RawPacketHeader), SampledEthernet(SampledEthernet), SampledIpv4(SampledIpv4), SampledIpv6(SampledIpv6), ExtendedSwitch(ExtendedSwitch), ExtendedRouter(ExtendedRouter), ExtendedGateway(ExtendedGateway), ExtendedUser(ExtendedUser), ExtendedUrl(ExtendedUrl), ExtendedMpls(ExtendedMpls), ExtendedNat(ExtendedNat), ExtendedMplsTunnel(ExtendedMplsTunnel), ExtendedMplsVc(ExtendedMplsVc), ExtendedMplsFtn(ExtendedMplsFtn), ExtendedMplsLdpFec(ExtendedMplsLdpFec), ExtendedVlanTunnel(ExtendedVlanTunnel), Extended80211Payload(Extended80211Payload), Extended80211Rx(Extended80211Rx), Extended80211Tx(Extended80211Tx), ExtendedL2TunnelEgress(SampledEthernet), ExtendedL2TunnelIngress(SampledEthernet), ExtendedIpv4TunnelEgress(SampledIpv4), ExtendedIpv4TunnelIngress(SampledIpv4), ExtendedIpv6TunnelEgress(SampledIpv6), ExtendedIpv6TunnelIngress(SampledIpv6), ExtendedDecapsulateEgress(ExtendedDecapsulateEgress), ExtendedDecapsulateIngress(ExtendedDecapsulateIngress), ExtendedVniEgress(ExtendedVniEgress), ExtendedVniIngress(ExtendedVniIngress), ExtendedEgressQueue(ExtendedEgressQueue), ExtendedAcl(ExtendedAcl), ExtendedFunction(ExtendedFunction), ExtendedTransit(ExtendedTransit), ExtendedQueue(ExtendedQueue), ExtendedSocketIpv4(ExtendedSocketIpv4), ExtendedSocketIpv6(ExtendedSocketIpv6), ExtendedProxySocketIpv4(ExtendedProxySocketIpv4), ExtendedProxySocketIpv6(ExtendedProxySocketIpv6), JvmRuntime(JvmRuntime), MemcacheOperation(MemcacheOperation), AppOperation(AppOperation), HttpRequest(HttpRequest), ExtendedProxyRequest(ExtendedProxyRequest), Unknown { enterprise: u32, format: u32, data: Vec<u8>, },
}
Expand description

A flow record within a flow sample.

Flow records describe properties of a sampled packet, ranging from raw header bytes to decoded L2/L3/L4 fields and extended routing data.

Variants§

§

RawPacketHeader(RawPacketHeader)

Raw packet header bytes (enterprise=0, format=1).

§

SampledEthernet(SampledEthernet)

Sampled Ethernet frame header (enterprise=0, format=2).

§

SampledIpv4(SampledIpv4)

Sampled IPv4 packet header (enterprise=0, format=3).

§

SampledIpv6(SampledIpv6)

Sampled IPv6 packet header (enterprise=0, format=4).

§

ExtendedSwitch(ExtendedSwitch)

Extended switch data — VLAN and priority (enterprise=0, format=1001).

§

ExtendedRouter(ExtendedRouter)

Extended router data — next hop and masks (enterprise=0, format=1002).

§

ExtendedGateway(ExtendedGateway)

Extended gateway data — BGP AS path and communities (enterprise=0, format=1003).

§

ExtendedUser(ExtendedUser)

Extended user data — source and destination user identifiers (enterprise=0, format=1004).

§

ExtendedUrl(ExtendedUrl)

Extended URL data — URL and host strings (enterprise=0, format=1005).

§

ExtendedMpls(ExtendedMpls)

Extended MPLS data — next hop and label stacks (enterprise=0, format=1006).

§

ExtendedNat(ExtendedNat)

Extended NAT data — translated source and destination addresses (enterprise=0, format=1007).

§

ExtendedMplsTunnel(ExtendedMplsTunnel)

Extended MPLS tunnel data (enterprise=0, format=1008).

§

ExtendedMplsVc(ExtendedMplsVc)

Extended MPLS virtual circuit data (enterprise=0, format=1009).

§

ExtendedMplsFtn(ExtendedMplsFtn)

Extended MPLS FEC to NHLFE mapping (enterprise=0, format=1010).

§

ExtendedMplsLdpFec(ExtendedMplsLdpFec)

Extended MPLS LDP FEC data (enterprise=0, format=1011).

§

ExtendedVlanTunnel(ExtendedVlanTunnel)

Extended VLAN tunnel data — 802.1Q-in-Q stack (enterprise=0, format=1012).

§

Extended80211Payload(Extended80211Payload)

Extended 802.11 payload data (enterprise=0, format=1013).

§

Extended80211Rx(Extended80211Rx)

Extended 802.11 receive data (enterprise=0, format=1014).

§

Extended80211Tx(Extended80211Tx)

Extended 802.11 transmit data (enterprise=0, format=1015).

§

ExtendedL2TunnelEgress(SampledEthernet)

Extended L2 tunnel egress — reuses sampled Ethernet (enterprise=0, format=1021).

§

ExtendedL2TunnelIngress(SampledEthernet)

Extended L2 tunnel ingress — reuses sampled Ethernet (enterprise=0, format=1022).

§

ExtendedIpv4TunnelEgress(SampledIpv4)

Extended IPv4 tunnel egress — reuses sampled IPv4 (enterprise=0, format=1023).

§

ExtendedIpv4TunnelIngress(SampledIpv4)

Extended IPv4 tunnel ingress — reuses sampled IPv4 (enterprise=0, format=1024).

§

ExtendedIpv6TunnelEgress(SampledIpv6)

Extended IPv6 tunnel egress — reuses sampled IPv6 (enterprise=0, format=1025).

§

ExtendedIpv6TunnelIngress(SampledIpv6)

Extended IPv6 tunnel ingress — reuses sampled IPv6 (enterprise=0, format=1026).

§

ExtendedDecapsulateEgress(ExtendedDecapsulateEgress)

Extended decapsulate egress data (enterprise=0, format=1027).

§

ExtendedDecapsulateIngress(ExtendedDecapsulateIngress)

Extended decapsulate ingress data (enterprise=0, format=1028).

§

ExtendedVniEgress(ExtendedVniEgress)

Extended VNI egress data (enterprise=0, format=1029).

§

ExtendedVniIngress(ExtendedVniIngress)

Extended VNI ingress data (enterprise=0, format=1030).

§

ExtendedEgressQueue(ExtendedEgressQueue)

Extended egress queue identifier (enterprise=0, format=1036).

§

ExtendedAcl(ExtendedAcl)

Extended ACL data (enterprise=0, format=1037).

§

ExtendedFunction(ExtendedFunction)

Extended function/symbol data (enterprise=0, format=1038).

§

ExtendedTransit(ExtendedTransit)

Extended transit delay data (enterprise=0, format=1039).

§

ExtendedQueue(ExtendedQueue)

Extended queue depth data (enterprise=0, format=1040).

§

ExtendedSocketIpv4(ExtendedSocketIpv4)

Extended socket IPv4 data (enterprise=0, format=2100).

§

ExtendedSocketIpv6(ExtendedSocketIpv6)

Extended socket IPv6 data (enterprise=0, format=2101).

§

ExtendedProxySocketIpv4(ExtendedProxySocketIpv4)

Extended proxy socket IPv4 data (enterprise=0, format=2102).

§

ExtendedProxySocketIpv6(ExtendedProxySocketIpv6)

Extended proxy socket IPv6 data (enterprise=0, format=2103).

§

JvmRuntime(JvmRuntime)

JVM runtime information (enterprise=0, format=2105).

§

MemcacheOperation(MemcacheOperation)

Memcache operation data (enterprise=0, format=2200).

§

AppOperation(AppOperation)

Application operation data (enterprise=0, format=2202).

§

HttpRequest(HttpRequest)

HTTP request data (enterprise=0, format=2206).

§

ExtendedProxyRequest(ExtendedProxyRequest)

Extended proxy request data (enterprise=0, format=2207).

§

Unknown

Unrecognized flow record type, preserved as raw bytes.

Fields

§enterprise: u32

Enterprise code from the record header.

§format: u32

Format code from the record header.

§data: Vec<u8>

Raw record data.

Trait Implementations§

Source§

impl Clone for FlowRecord

Source§

fn clone(&self) -> FlowRecord

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FlowRecord

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for FlowRecord

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for FlowRecord

Source§

fn eq(&self, other: &FlowRecord) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for FlowRecord

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for FlowRecord

Source§

impl StructuralPartialEq for FlowRecord

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,