netstack3_ip

Struct IpCounters

Source
pub struct IpCounters<I: IpLayerIpExt> {
Show 25 fields pub deliver_unicast: Counter, pub deliver_multicast: Counter, pub dispatch_receive_ip_packet: Counter, pub dispatch_receive_ip_packet_other_host: Counter, pub receive_ip_packet: Counter, pub send_ip_packet: Counter, pub forwarding_disabled: Counter, pub forward: Counter, pub no_route_to_host: Counter, pub mtu_exceeded: Counter, pub ttl_expired: Counter, pub receive_icmp_error: Counter, pub fragment_reassembly_error: Counter, pub need_more_fragments: Counter, pub invalid_fragment: Counter, pub fragment_cache_full: Counter, pub parameter_problem: Counter, pub unspecified_destination: Counter, pub unspecified_source: Counter, pub dropped: Counter, pub tx_illegal_loopback_address: Counter, pub version_rx: I::RxCounters, pub multicast_no_interest: Counter, pub invalid_cached_conntrack_entry: Counter, pub fragmentation: FragmentationCounters,
}
Expand description

Ip layer counters.

Fields§

§deliver_unicast: Counter

Count of incoming IP unicast packets delivered.

§deliver_multicast: Counter

Count of incoming IP multicast packets delivered.

§dispatch_receive_ip_packet: Counter

Count of incoming IP packets that are dispatched to the appropriate protocol.

§dispatch_receive_ip_packet_other_host: Counter

Count of incoming IP packets destined to another host.

§receive_ip_packet: Counter

Count of incoming IP packets received by the stack.

§send_ip_packet: Counter

Count of sent outgoing IP packets.

§forwarding_disabled: Counter

Count of packets to be forwarded which are instead dropped because forwarding is disabled.

§forward: Counter

Count of incoming packets forwarded to another host.

§no_route_to_host: Counter

Count of incoming packets which cannot be forwarded because there is no route to the destination host.

§mtu_exceeded: Counter

Count of incoming packets which cannot be forwarded because the MTU has been exceeded.

§ttl_expired: Counter

Count of incoming packets which cannot be forwarded because the TTL has expired.

§receive_icmp_error: Counter

Count of ICMP error messages received.

§fragment_reassembly_error: Counter

Count of IP fragment reassembly errors.

§need_more_fragments: Counter

Count of IP fragments that could not be reassembled because more fragments were needed.

§invalid_fragment: Counter

Count of IP fragments that could not be reassembled because the fragment was invalid.

§fragment_cache_full: Counter

Count of IP fragments that could not be reassembled because the stack’s per-IP-protocol fragment cache was full.

§parameter_problem: Counter

Count of incoming IP packets not delivered because of a parameter problem.

§unspecified_destination: Counter

Count of incoming IP packets with an unspecified destination address.

§unspecified_source: Counter

Count of incoming IP packets with an unspecified source address.

§dropped: Counter

Count of incoming IP packets dropped.

§tx_illegal_loopback_address: Counter

Number of frames rejected because they’d cause illegal loopback addresses on the wire.

§version_rx: I::RxCounters

Version specific rx counters.

§multicast_no_interest: Counter

Count of incoming IP multicast packets that were dropped because The stack doesn’t have any sockets that belong to the multicast group, and the stack isn’t configured to forward the multicast packet.

§invalid_cached_conntrack_entry: Counter

Count of looped-back packets that held a cached conntrack entry that could not be downcasted to the expected type. This would happen if, for example, a packet was modified to a different IP version between EGRESS and INGRESS.

§fragmentation: FragmentationCounters

IP fragmentation counters.

Trait Implementations§

Source§

impl<I: Default + IpLayerIpExt> Default for IpCounters<I>
where I::RxCounters: Default,

Source§

fn default() -> IpCounters<I>

Returns the “default value” for a type. Read more
Source§

impl<I: IpLayerIpExt, IpType> GenericOverIp<IpType> for IpCounters<I>
where IpType: IpLayerIpExt + Ip,

Source§

type Type = IpCounters<IpType>

The type of Self when its IP-generic parameter is replaced with the type NewIp.

Auto Trait Implementations§

§

impl<I> !Freeze for IpCounters<I>

§

impl<I> RefUnwindSafe for IpCounters<I>

§

impl<I> Send for IpCounters<I>
where <I as IpLayerIpExt>::RxCounters: Send,

§

impl<I> Sync for IpCounters<I>
where <I as IpLayerIpExt>::RxCounters: Sync,

§

impl<I> Unpin for IpCounters<I>
where <I as IpLayerIpExt>::RxCounters: Unpin,

§

impl<I> UnwindSafe for IpCounters<I>

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<O, BC> BuildableCoreContext<BC> for O
where O: Default,

Source§

type Builder = ()

The builder type that can build this core context.
Source§

fn build(_bindings_ctx: &mut BC, _: ()) -> O

Consumes this builder and returns the context.
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<CC, BC, Meta> RecvFrameContext<Meta, BC> for CC
where Meta: ReceivableFrameMeta<CC, BC>,

Source§

fn receive_frame<B>(&mut self, bindings_ctx: &mut BC, metadata: Meta, frame: B)
where B: BufferMut + Debug,

Receive a frame. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<CC, BC, Meta> SendFrameContext<BC, Meta> for CC
where Meta: SendableFrameMeta<CC, BC>,

Source§

fn send_frame<S>( &mut self, bindings_ctx: &mut BC, metadata: Meta, frame: S, ) -> Result<(), ErrorAndSerializer<SendFrameErrorReason, S>>
where S: Serializer, <S as Serializer>::Buffer: BufferMut,

Send a frame. Read more
Source§

impl<Id, CC, BC> TimerHandler<BC, Id> for CC
where BC: TimerBindingsTypes, Id: HandleableTimer<CC, BC>,

Source§

fn handle_timer( &mut self, bindings_ctx: &mut BC, dispatch: Id, timer: <BC as TimerBindingsTypes>::UniqueTimerId, )

Handle a timer firing. 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.
§

impl<L, T> UnlockedAccess<L> for T
where L: UnlockedAccessMarkerFor<T>,

§

type Data = <L as UnlockedAccessMarkerFor<T>>::Data

The type of state being accessed.
§

type Guard<'l> = &'l <L as UnlockedAccessMarkerFor<T>>::Data where T: 'l

A guard providing read access to the data.
§

fn access(&self) -> <T as UnlockedAccess<L>>::Guard<'_>

How to access the state.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<B, A> LockBefore<B> for A
where B: LockAfter<A>,