Skip to main content

PushQstats

Struct PushQstats 

Source
pub struct PushQstats<Prev: Pusher> { /* private fields */ }
Available on crate feature netdev only.

Implementations§

Source§

impl<Prev: Pusher> PushQstats<Prev>

Source

pub fn new(prev: Prev) -> Self

Source

pub fn end_nested(self) -> Prev

Source

pub fn push_ifindex(self, value: u32) -> Self

ifindex of the netdevice to which stats belong.

Source

pub fn push_queue_type(self, value: u32) -> Self

Queue type as rx, tx, for queue-id.

Associated type: QueueType (enum)

Source

pub fn push_queue_id(self, value: u32) -> Self

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

Source

pub fn push_scope(self, value: u32) -> Self

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

Associated type: QstatsScope (enum)

Source

pub fn push_rx_packets(self, value: u32) -> Self

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.

Source

pub fn push_rx_bytes(self, value: u32) -> Self

Successfully received bytes, see [rx-packets]{.title-ref}.

Source

pub fn push_tx_packets(self, value: u32) -> Self

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).

Source

pub fn push_tx_bytes(self, value: u32) -> Self

Successfully sent bytes, see [tx-packets]{.title-ref}.

Source

pub fn push_rx_alloc_fail(self, value: u32) -> Self

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.

Source

pub fn push_rx_hw_drops(self, value: u32) -> Self

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.

Source

pub fn push_rx_hw_drop_overruns(self, value: u32) -> Self

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

Source

pub fn push_rx_csum_complete(self, value: u32) -> Self

Number of packets that were marked as CHECKSUM_COMPLETE.

Source

pub fn push_rx_csum_unnecessary(self, value: u32) -> Self

Number of packets that were marked as CHECKSUM_UNNECESSARY.

Source

pub fn push_rx_csum_none(self, value: u32) -> Self

Number of packets that were not checksummed by device.

Source

pub fn push_rx_csum_bad(self, value: u32) -> Self

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

Source

pub fn push_rx_hw_gro_packets(self, value: u32) -> Self

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.

Source

pub fn push_rx_hw_gro_bytes(self, value: u32) -> Self

See [rx-hw-gro-packets]{.title-ref}.

Source

pub fn push_rx_hw_gro_wire_packets(self, value: u32) -> Self

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

Source

pub fn push_rx_hw_gro_wire_bytes(self, value: u32) -> Self

See [rx-hw-gro-wire-packets]{.title-ref}.

Source

pub fn push_rx_hw_drop_ratelimits(self, value: u32) -> Self

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

Source

pub fn push_tx_hw_drops(self, value: u32) -> Self

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.

Source

pub fn push_tx_hw_drop_errors(self, value: u32) -> Self

Number of packets dropped because they were invalid or malformed.

Source

pub fn push_tx_csum_none(self, value: u32) -> Self

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

Source

pub fn push_tx_needs_csum(self, value: u32) -> Self

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.

Source

pub fn push_tx_hw_gso_packets(self, value: u32) -> Self

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

Source

pub fn push_tx_hw_gso_bytes(self, value: u32) -> Self

See [tx-hw-gso-packets]{.title-ref}.

Source

pub fn push_tx_hw_gso_wire_packets(self, value: u32) -> Self

Number of wire-sized packets generated by processing [tx-hw-gso-packets]{.title-ref}

Source

pub fn push_tx_hw_gso_wire_bytes(self, value: u32) -> Self

See [tx-hw-gso-wire-packets]{.title-ref}.

Source

pub fn push_tx_hw_drop_ratelimits(self, value: u32) -> Self

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

Source

pub fn push_tx_stop(self, value: u32) -> Self

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.

Source

pub fn push_tx_wake(self, value: u32) -> Self

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

Trait Implementations§

Source§

impl<Prev: Pusher> Drop for PushQstats<Prev>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl<Prev: Pusher> Pusher for PushQstats<Prev>

Source§

fn as_vec_mut(&mut self) -> &mut Vec<u8>

Source§

fn as_vec(&self) -> &Vec<u8>

Source§

fn as_rec(&self) -> &Vec<u8>

👎Deprecated:

Use .as_vec() instead (rec -> vec)

Source§

fn as_rec_mut(&mut self) -> &mut Vec<u8>

👎Deprecated:

Use .as_vec_mut() instead (rec -> vec)

Auto Trait Implementations§

§

impl<Prev> Freeze for PushQstats<Prev>
where Prev: Freeze,

§

impl<Prev> RefUnwindSafe for PushQstats<Prev>
where Prev: RefUnwindSafe,

§

impl<Prev> Send for PushQstats<Prev>
where Prev: Send,

§

impl<Prev> Sync for PushQstats<Prev>
where Prev: Sync,

§

impl<Prev> Unpin for PushQstats<Prev>
where Prev: Unpin,

§

impl<Prev> UnsafeUnpin for PushQstats<Prev>
where Prev: UnsafeUnpin,

§

impl<Prev> UnwindSafe for PushQstats<Prev>
where Prev: UnwindSafe,

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> 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, 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.