#[repr(transparent)]pub struct MacInnerVlanIncl(pub u32);Expand description
F70RM Rev. 1 section 51.7.1.8; manual text line 149461.
Tuple Fields§
§0: u32Implementations§
Source§impl MacInnerVlanIncl
impl MacInnerVlanIncl
Sourcepub const fn vlt(&self) -> u16
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
Sourcepub const fn set_vlt(&mut self, val: u16)
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
Sourcepub const fn vlc(&self) -> u8
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
Sourcepub const fn set_vlc(&mut self, val: u8)
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
Sourcepub const fn vlp(&self) -> bool
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
Sourcepub const fn set_vlp(&mut self, val: bool)
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
Sourcepub const fn csvl(&self) -> bool
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
Sourcepub const fn set_csvl(&mut self, val: bool)
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
Trait Implementations§
Source§impl Clone for MacInnerVlanIncl
impl Clone for MacInnerVlanIncl
Source§fn clone(&self) -> MacInnerVlanIncl
fn clone(&self) -> MacInnerVlanIncl
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more