Skip to main content

Qstats

Enum Qstats 

Source
pub enum Qstats {
Show 31 variants Ifindex(u32), QueueType(u32), QueueId(u32), Scope(u32), RxPackets(u32), RxBytes(u32), TxPackets(u32), TxBytes(u32), RxAllocFail(u32), RxHwDrops(u32), RxHwDropOverruns(u32), RxCsumComplete(u32), RxCsumUnnecessary(u32), RxCsumNone(u32), RxCsumBad(u32), RxHwGroPackets(u32), RxHwGroBytes(u32), RxHwGroWirePackets(u32), RxHwGroWireBytes(u32), RxHwDropRatelimits(u32), TxHwDrops(u32), TxHwDropErrors(u32), TxCsumNone(u32), TxNeedsCsum(u32), TxHwGsoPackets(u32), TxHwGsoBytes(u32), TxHwGsoWirePackets(u32), TxHwGsoWireBytes(u32), TxHwDropRatelimits(u32), TxStop(u32), TxWake(u32),
}
Available on crate feature netdev only.

Variants§

§

Ifindex(u32)

ifindex of the netdevice to which stats belong.

§

QueueType(u32)

Queue type as rx, tx, for queue-id. Associated type: QueueType (enum)

§

QueueId(u32)

Queue ID, if stats are scoped to a single queue instance.

§

Scope(u32)

What object type should be used to iterate over the stats.

Associated type: QstatsScope (enum)

§

RxPackets(u32)

Number of wire packets successfully received and passed to the stack. For drivers supporting XDP, XDP is considered the first layer of the stack, so packets consumed by XDP are still counted here.

§

RxBytes(u32)

Successfully received bytes, see `rx-packets`.

§

TxPackets(u32)

Number of wire packets successfully sent. Packet is considered to be successfully sent once it is in device memory (usually this means the device has issued a DMA completion for the packet).

§

TxBytes(u32)

Successfully sent bytes, see `tx-packets`.

§

RxAllocFail(u32)

Number of times skb or buffer allocation failed on the Rx datapath. Allocation failure may, or may not result in a packet drop, depending on driver implementation and whether system recovers quickly.

§

RxHwDrops(u32)

Number of all packets which entered the device, but never left it, including but not limited to: packets dropped due to lack of buffer space, processing errors, explicit or implicit policies and packet filters.

§

RxHwDropOverruns(u32)

Number of packets dropped due to transient lack of resources, such as buffer space, host descriptors etc.

§

RxCsumComplete(u32)

Number of packets that were marked as CHECKSUM_COMPLETE.

§

RxCsumUnnecessary(u32)

Number of packets that were marked as CHECKSUM_UNNECESSARY.

§

RxCsumNone(u32)

Number of packets that were not checksummed by device.

§

RxCsumBad(u32)

Number of packets with bad checksum. The packets are not discarded, but still delivered to the stack.

§

RxHwGroPackets(u32)

Number of packets that were coalesced from smaller packets by the device. Counts only packets coalesced with the HW-GRO netdevice feature, LRO-coalesced packets are not counted.

§

RxHwGroBytes(u32)

See `rx-hw-gro-packets`.

§

RxHwGroWirePackets(u32)

Number of packets that were coalesced to bigger packetss with the HW-GRO netdevice feature. LRO-coalesced packets are not counted.

§

RxHwGroWireBytes(u32)

See `rx-hw-gro-wire-packets`.

§

RxHwDropRatelimits(u32)

Number of the packets dropped by the device due to the received packets bitrate exceeding the device rate limit.

§

TxHwDrops(u32)

Number of packets that arrived at the device but never left it, encompassing packets dropped for reasons such as processing errors, as well as those affected by explicitly defined policies and packet filtering criteria.

§

TxHwDropErrors(u32)

Number of packets dropped because they were invalid or malformed.

§

TxCsumNone(u32)

Number of packets that did not require the device to calculate the checksum.

§

TxNeedsCsum(u32)

Number of packets that required the device to calculate the checksum. This counter includes the number of GSO wire packets for which device calculated the L4 checksum.

§

TxHwGsoPackets(u32)

Number of packets that necessitated segmentation into smaller packets by the device.

§

TxHwGsoBytes(u32)

See `tx-hw-gso-packets`.

§

TxHwGsoWirePackets(u32)

Number of wire-sized packets generated by processing `tx-hw-gso-packets`

§

TxHwGsoWireBytes(u32)

See `tx-hw-gso-wire-packets`.

§

TxHwDropRatelimits(u32)

Number of the packets dropped by the device due to the transmit packets bitrate exceeding the device rate limit.

§

TxStop(u32)

Number of times driver paused accepting new tx packets from the stack to this queue, because the queue was full. Note that if BQL is supported and enabled on the device the networking stack will avoid queuing a lot of data at once.

§

TxWake(u32)

Number of times driver re-started accepting send requests to this queue from the stack.

Implementations§

Source§

impl Qstats

Source

pub fn new<'a>(buf: &'a [u8]) -> IterableQstats<'a>

Trait Implementations§

Source§

impl Clone for Qstats

Source§

fn clone(&self) -> Qstats

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

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.