Enum netlink_packet_route::tc::TcActionAttribute

source ·
#[non_exhaustive]
pub enum TcActionAttribute { Kind(String), Options(Vec<TcActionOption>), Index(u32), Stats(Vec<TcStats2>), Cookie(Vec<u8>), InHwCount(u32), Other(DefaultNla), }
Expand description

Attributes of a traffic control action.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Kind(String)

The Kind (general type or class) of the action (e.g. “mirred”, “nat”).

§

Options(Vec<TcActionOption>)

Parameters of the action.

§

Index(u32)

Index of the action.

This is used to identify the action in the kernel. Each action Kind has a unique table of actions. That is, each action Kind has its own set of Index values.

If Index is zero on action creation, the kernel will assign a unique index to the new action. The combination of Kind and Index can then be used to identify and interact with the action in the future.

For example, one action can be used by multiple different filters by referencing the action’s Index when creating that filter. Such multiply referenced actions will aggregate their statistics.

The kernel will reject attempts to delete an action if it is in use by a filter. Remove all referencing filters before deleting the action.

§

Stats(Vec<TcStats2>)

Statistics about the action (e.g., number of bytes and or packets processed).

§

Cookie(Vec<u8>)

Cookie is an attribute which is not interpreted by the kernel at all and may be used to store up to 16 bytes of arbitrary data on an action in the kernel. Userspace processes may then use this data to store additional information about the action or to correlate actions with other data.

§

InHwCount(u32)

Number of times the action has been installed in hardware.

§

Other(DefaultNla)

Other attributes unknown at the time of writing or not yet supported by this library.

Trait Implementations§

source§

impl Clone for TcActionAttribute

source§

fn clone(&self) -> TcActionAttribute

Returns a copy 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 TcActionAttribute

source§

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

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

impl Nla for TcActionAttribute

source§

fn value_len(&self) -> usize

source§

fn emit_value(&self, buffer: &mut [u8])

source§

fn kind(&self) -> u16

source§

fn is_nested(&self) -> bool

source§

fn is_network_byteorder(&self) -> bool

source§

impl<'a, T, P> ParseableParametrized<NlaBuffer<&'a T>, P> for TcActionAttribute
where T: AsRef<[u8]> + ?Sized, P: AsRef<str>,

source§

fn parse_with_param( buf: &NlaBuffer<&'a T>, kind: P, ) -> Result<Self, DecodeError>

Deserialize the current type.
source§

impl PartialEq for TcActionAttribute

source§

fn eq(&self, other: &TcActionAttribute) -> 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 Eq for TcActionAttribute

source§

impl StructuralPartialEq for TcActionAttribute

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, dst: *mut T)

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

impl<T> Emitable for T
where T: Nla,

source§

fn buffer_len(&self) -> usize

Return the length of the serialized data.
source§

fn emit(&self, buffer: &mut [u8])

Serialize this types and write the serialized data into the given buffer. 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.