nxp-pac

Crates

git

Versions

mcxa567

Flavors

MacPacketFilter

Struct MacPacketFilter 

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

F70RM Rev. 1 section 51.7.1.4; manual text line 148812.

Tuple Fields§

§0: u32

Implementations§

Source§

impl MacPacketFilter

Source

pub const fn pr(&self) -> bool

Promiscuous Mode. - 1: MAC transfers all incoming packets to the application regardless of the destination or source address filtering status. MAC clears the SA or DA Filter Fail status bits of the MAC Rx status word. For more details about MAC Rx status word, see “Receive Status Word at the MAC Interface” table in the Architecture chapter. - 0: MAC transfers to the application only the packets that pass destination or source address filtering. 0b - Promiscuous Mode is disabled 1b - Promiscuous Mode is enabled

Source

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

Promiscuous Mode. - 1: MAC transfers all incoming packets to the application regardless of the destination or source address filtering status. MAC clears the SA or DA Filter Fail status bits of the MAC Rx status word. For more details about MAC Rx status word, see “Receive Status Word at the MAC Interface” table in the Architecture chapter. - 0: MAC transfers to the application only the packets that pass destination or source address filtering. 0b - Promiscuous Mode is disabled 1b - Promiscuous Mode is enabled

Source

pub const fn daif(&self) -> bool

DA Inverse Filtering. When this bit is set, the Address Check block operates in inverse filtering mode for the DA address comparison for both unicast and multicast packets. When this bit is reset, normal filtering of packets is performed. 0b - DA Inverse Filtering is disabled 1b - DA Inverse Filtering is enabled

Source

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

DA Inverse Filtering. When this bit is set, the Address Check block operates in inverse filtering mode for the DA address comparison for both unicast and multicast packets. When this bit is reset, normal filtering of packets is performed. 0b - DA Inverse Filtering is disabled 1b - DA Inverse Filtering is enabled

Source

pub const fn pm(&self) -> bool

Pass All Multicast. When this bit is set, it indicates that all the received packets with a multicast destination address (first bit in the destination address field is ‘1’) are passed. When this bit is reset, filtering of multicast packet depends on HMC bit. 0b - Pass All Multicast is disabled 1b - Pass All Multicast is enabled

Source

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

Pass All Multicast. When this bit is set, it indicates that all the received packets with a multicast destination address (first bit in the destination address field is ‘1’) are passed. When this bit is reset, filtering of multicast packet depends on HMC bit. 0b - Pass All Multicast is disabled 1b - Pass All Multicast is enabled

Source

pub const fn dbf(&self) -> bool

Disable Broadcast Packets. When this bit is set, the AFM module blocks all the incoming broadcast packets. In addition, it overrides all other filter settings. When this bit is reset, the AFM module passes all received broadcast packets. 0b - Enable Broadcast Packets 1b - Disable Broadcast Packets

Source

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

Disable Broadcast Packets. When this bit is set, the AFM module blocks all the incoming broadcast packets. In addition, it overrides all other filter settings. When this bit is reset, the AFM module passes all received broadcast packets. 0b - Enable Broadcast Packets 1b - Disable Broadcast Packets

Source

pub const fn pcf(&self) -> u8

Pass Control Packets. These bits control the forwarding of all control packets (including unicast and multicast Pause packets). 00b - MAC filters all control packets from reaching the application 01b - MAC forwards all control packets except Pause packets to the application even if they fail the Address filter 10b - MAC forwards all control packets to the application even if they fail the Address filter 11b - MAC forwards the control packets that pass the Address filter

Source

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

Pass Control Packets. These bits control the forwarding of all control packets (including unicast and multicast Pause packets). 00b - MAC filters all control packets from reaching the application 01b - MAC forwards all control packets except Pause packets to the application even if they fail the Address filter 10b - MAC forwards all control packets to the application even if they fail the Address filter 11b - MAC forwards the control packets that pass the Address filter

Source

pub const fn vtfe(&self) -> bool

VLAN Tag Filter Enable. When this bit is set, the MAC drops the VLAN tagged packets that do not match the VLAN Tag. When this bit is reset, the MAC forwards all packets irrespective of the match status of the VLAN Tag. 0b - VLAN Tag Filter is disabled 1b - VLAN Tag Filter is enabled

Source

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

VLAN Tag Filter Enable. When this bit is set, the MAC drops the VLAN tagged packets that do not match the VLAN Tag. When this bit is reset, the MAC forwards all packets irrespective of the match status of the VLAN Tag. 0b - VLAN Tag Filter is disabled 1b - VLAN Tag Filter is enabled

Source

pub const fn ra(&self) -> bool

Receive All. - 1: The MAC receiver transfers all the received packets to the application regardless of the address filter status. MAC updates the SA or DA filtering status in the corresponding bit of the MAC filter status word. For more details, see the “MAC Filter Status Word Format” table in the Architecture chapter. - 0: The MAC receiver transfers only the packets that pass the SA or DA address filter, to the application. 0b - Receive All is disabled 1b - Receive All is enabled

Source

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

Receive All. - 1: The MAC receiver transfers all the received packets to the application regardless of the address filter status. MAC updates the SA or DA filtering status in the corresponding bit of the MAC filter status word. For more details, see the “MAC Filter Status Word Format” table in the Architecture chapter. - 0: The MAC receiver transfers only the packets that pass the SA or DA address filter, to the application. 0b - Receive All is disabled 1b - Receive All is enabled

Trait Implementations§

Source§

impl Clone for MacPacketFilter

Source§

fn clone(&self) -> MacPacketFilter

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 MacPacketFilter

Source§

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

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

impl Default for MacPacketFilter

Source§

fn default() -> MacPacketFilter

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

impl PartialEq for MacPacketFilter

Source§

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

Source§

impl Eq for MacPacketFilter

Source§

impl StructuralPartialEq for MacPacketFilter

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.