Table Of Contents

Interface:Ethernet:Endpoint:Receive Filter

Last Modified: December 6, 2019

Each frame that is received by the interface is forwarded to either the XNET endpoint or the OS stack (not both). This property configures zero, one, or two identification elements (filters) for this forwarding decision.

Data type: datatype_icon

Long Name: Interface:Ethernet:Endpoint:Receive Filter

Class: XNET Session

Permissions: Read/Write

The following C language pseudo-code describes how XNET forwards each received frame to either the XNET endpoint or the OS stack:

// TRUE forwards to XNET endpoint, FALSE forwards to OS stack
Boolean forwardFrameToEndpoint = FALSE;
for (int i = 0; i < 2; i++)
{
	boolean endpointMatch =
	( RxFilter[i].useVID || RxFilter[i].usePriority || RxFilter[i].useDestinationMAC );

	if ( RxFilter[i].useVID && (RxFilter[i].VID != frameVID)
	endpointMatch = FALSE;

	if ( RxFilter[i].usePriority && (RxFilter[i].Priority != framePriority) )
	endpointMatch = FALSE;

	if ( RxFilter[i].useDestinationMAC && (RxFilter[i].DestinationMAC != frameDestinationMAC) )
	endpointMatch = FALSE;

	// Only one element must match in order to forward to XNET endpoint.
	forwardFrameToEndpoint = forwardFrameToEndpoint || endpointMatch;
}

The default value is:

RxFilter[i].UseVID = TRUE, RxFilter[i].VID = 2,
RxFilter[i].UsePriority = TRUE, RxFilter[i].Priority = 3,
RxFilter[i].UseDestinationMAC = FALSE,
RxFilter[1].UseVID = TRUE, RxFilter[i].VID = 2,
RxFilter[1]UsePriority = TRUE, RxFilter[i].Priority = 2,
RxFilter[1].UseDestinationMAC = FALSE

This default value corresponds to AVB traffic (SR class A and B) using the defaults specified for the credit-based shaper in IEEE Std 802.1Q.

If an XNET input session is not started for the interface's endpoint (e.g., Frame Input Stream session on "ENET1"), all frames are forwarded to the OS stack. An XNET input session for the interface's monitor (e.g., Frame Input Stream session on "ENET1/monitor") receives all frames regardless of the value of this property.

If you write this property with fewer than two elements, the missing element is configured with all three "use" flags set to false. For example, if you write zero elements (an empty array), all traffic is forwarded to the OS stack.

IEEE Std 802.1Q specifies that VLAN ID (VID) and destination MAC address can be used for forwarding decisions. The VID is typically used for a type of traffic, and destination MAC address is used for a specific stream (flow). The Priority Code Point (PCP) determines how the frame travels through transmit queues in the network. The PCP is commonly known as priority.

The data type for VID is U16. Each VID value ranges from 1 to 4094. The VID in this property applies only to a tagged frame. The tagged frame must use a Tag Protocol Identification (TPID) of hex 8100, which is the Customer VLAN Tag (C-TAG) format commonly known as a VLAN tag. This property's VID value is compared to the VID value in the Tag Control Info of the frame. An untagged frame has an implicit VID of 1, but if this property's UseVID is true and VID is 1, the untagged frame forwards to the OS stack.

The data type for priority is U8. Each priority value ranges from 0 to 7. The priority in this property applies only to a tagged frame. The tagged frame must use a Tag Protocol Identification (TPID) of hex 8100, which is the Customer VLAN Tag (C-TAG) format commonly known as a VLAN tag. This property's priority value is compared to the Priority Code Point (PCP) value in the Tag Control Info of the frame. An untagged frame has an implicit priority of 0, but if this property's UsePriority is true and Priority is 0, the untagged frame forwards to the OS stack.

The destination MAC address is a string of six octets. Each octet consists of two hexadecimal (0-9, A-F) digits. The octets are separated by colon. For example: 00:80:2F:AB:CD:EF.

Where This Property Is Available:

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application


Recently Viewed Topics