nxp-pac

Crates

git

Versions

mcxa566

Flavors

MacInnerVlanIncl

Struct MacInnerVlanIncl 

Source
#[repr(transparent)]
pub struct MacInnerVlanIncl(pub u32);
Expand description

F70RM Rev. 1 section 51.7.1.8; manual text line 149461.

Tuple Fields§

§0: u32

Implementations§

Source§

impl MacInnerVlanIncl

Source

pub const fn vlt(&self) -> u16

VLAN Tag for Transmit Packets. This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase. The following list describes the bits of this field: - Bits[15:13]: User Priority - Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI) - Bits[11:0]: VLAN Identifier (VID) field of VLAN tag

Source

pub const fn set_vlt(&mut self, val: u16)

VLAN Tag for Transmit Packets. This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase. The following list describes the bits of this field: - Bits[15:13]: User Priority - Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI) - Bits[11:0]: VLAN Identifier (VID) field of VLAN tag

Source

pub const fn vlc(&self) -> u8

VLAN Tag Control in Transmit Packets. - 2’b00: No VLAN tag deletion, insertion, or replacement - 2’b01: VLAN tag deletion The MAC removes the VLAN type (bytes 17 and 18) and VLAN tag (bytes 19 and 20) of all transmitted packets with VLAN tags. - 2’b10: VLAN tag insertion The MAC inserts VLT in bytes 19 and 20 of the packet after inserting the Type value (0x8100 or 0x88a8) in bytes 17 and 18. This operation is performed on all transmitted packets, irrespective of whether they already have a VLAN tag. - 2’b11: VLAN tag replacement The MAC replaces VLT in bytes 19 and 20 of all VLAN-type transmitted packets (Bytes 17 and 18 are 0x8100 or 0x88a8). NOTE Changes to this field take effect only on the start of a packet. If you write this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value. 00b - No VLAN tag deletion, insertion, or replacement 01b - VLAN tag deletion 10b - VLAN tag insertion 11b - VLAN tag replacement

Source

pub const fn set_vlc(&mut self, val: u8)

VLAN Tag Control in Transmit Packets. - 2’b00: No VLAN tag deletion, insertion, or replacement - 2’b01: VLAN tag deletion The MAC removes the VLAN type (bytes 17 and 18) and VLAN tag (bytes 19 and 20) of all transmitted packets with VLAN tags. - 2’b10: VLAN tag insertion The MAC inserts VLT in bytes 19 and 20 of the packet after inserting the Type value (0x8100 or 0x88a8) in bytes 17 and 18. This operation is performed on all transmitted packets, irrespective of whether they already have a VLAN tag. - 2’b11: VLAN tag replacement The MAC replaces VLT in bytes 19 and 20 of all VLAN-type transmitted packets (Bytes 17 and 18 are 0x8100 or 0x88a8). NOTE Changes to this field take effect only on the start of a packet. If you write this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value. 00b - No VLAN tag deletion, insertion, or replacement 01b - VLAN tag deletion 10b - VLAN tag insertion 11b - VLAN tag replacement

Source

pub const fn vlp(&self) -> bool

VLAN Priority Control. - 1: MAC uses the VLC field for VLAN deletion, insertion, or replacement. - 0: MAC uses the mti_vlan_ctrl_i signal for VLAN deletion, insertion, or replacement. MAC ignores the VLC field. 0b - VLAN Priority Control is disabled 1b - VLAN Priority Control is enabled

Source

pub const fn set_vlp(&mut self, val: bool)

VLAN Priority Control. - 1: MAC uses the VLC field for VLAN deletion, insertion, or replacement. - 0: MAC uses the mti_vlan_ctrl_i signal for VLAN deletion, insertion, or replacement. MAC ignores the VLC field. 0b - VLAN Priority Control is disabled 1b - VLAN Priority Control is enabled

Source

pub const fn csvl(&self) -> bool

C-VLAN or S-VLAN. - 1: S-VLAN type (0x88A8) is inserted or replaced in the 17th and 18th bytes of transmitted packets. - 0: C-VLAN type (0x8100) is inserted or replaced in the 17th and 18th bytes of transmitted packets. 0b - C-VLAN type (0x8100) is inserted 1b - S-VLAN type (0x88A8) is inserted

Source

pub const fn set_csvl(&mut self, val: bool)

C-VLAN or S-VLAN. - 1: S-VLAN type (0x88A8) is inserted or replaced in the 17th and 18th bytes of transmitted packets. - 0: C-VLAN type (0x8100) is inserted or replaced in the 17th and 18th bytes of transmitted packets. 0b - C-VLAN type (0x8100) is inserted 1b - S-VLAN type (0x88A8) is inserted

Source

pub const fn vlti(&self) -> bool

VLAN Tag Input. When this bit is set, it indicates that the VLAN tag to be inserted or replaced in Tx packet must be taken from: - The Tx descriptor 0b - VLAN Tag Input is disabled 1b - VLAN Tag Input is enabled

Source

pub const fn set_vlti(&mut self, val: bool)

VLAN Tag Input. When this bit is set, it indicates that the VLAN tag to be inserted or replaced in Tx packet must be taken from: - The Tx descriptor 0b - VLAN Tag Input is disabled 1b - VLAN Tag Input is enabled

Trait Implementations§

Source§

impl Clone for MacInnerVlanIncl

Source§

fn clone(&self) -> MacInnerVlanIncl

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

impl Debug for MacInnerVlanIncl

Source§

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

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

impl Default for MacInnerVlanIncl

Source§

fn default() -> MacInnerVlanIncl

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

impl PartialEq for MacInnerVlanIncl

Source§

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

Source§

impl Eq for MacInnerVlanIncl

Source§

impl StructuralPartialEq for MacInnerVlanIncl

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