Enum netlink_packet_route::tc::TcActionType

source ·
#[non_exhaustive]
pub enum TcActionType { Unspec, Ok, Reclassify, Shot, Pipe, Stolen, Queued, Repeat, Redirect, Trap, Other(i32), }
Expand description

Generic traffic control action types.

These are the possible “outcomes” for a packet after an action is applied to it.

This enum is non-exhaustive as new action types may be added to the kernel at any time.

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

Unspec

No specific outcome specified (i.e., take the default for that action).

§

Ok

Terminates packet processing and allows the packet to proceed.

§

Reclassify

Terminates packet processing and restart packet classification.

§

Shot

Drop the packet.

§

Pipe

Pipe the packet to the next action (if any).

§

Stolen

The packet is removed from this processing pipeline and returned to another. This happens, for example, when using the “mirred” redirect action.

§

Queued

Queue the packet for later processing.

§

Repeat

Repeat the action.

TODO: confirm this. I have not used this action before and its semantics are unclear.

§

Redirect

Redirect the packet.

TODO: confirm semantics of this action. It is unclear how Redirect differs from Stolen.

§

Trap

Transition packet processing from the hardware to software.

If this action is encountered by in software, it is equivalent to Shot.

§

Other(i32)

Other action types not known at the time of writing or not yet supported by this library.

Trait Implementations§

source§

impl Clone for TcActionType

source§

fn clone(&self) -> TcActionType

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 TcActionType

source§

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

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

impl Default for TcActionType

source§

fn default() -> TcActionType

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

impl From<TcActionType> for i32

source§

fn from(v: TcActionType) -> i32

Converts to this type from the input type.
source§

impl From<i32> for TcActionType

source§

fn from(d: i32) -> Self

Converts to this type from the input type.
source§

impl PartialEq for TcActionType

source§

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

source§

impl Eq for TcActionType

source§

impl StructuralPartialEq for TcActionType

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