Real-Time NL2 API Functions

This section summarizes the Real-Time API (Rtnl2) function set supported by the Network Link Layer (NL2). To support these functions, an application must include the Rtnl2Api.h header files and link in the library Rtnl2Api.lib.

Function

Description

Rtnl2AcquirePhysicalRxQueue

Acquires a Physical Receive Queue object specified by the handle of the owning interface and the index of the Physical Receive Queue within that interface.

Rtnl2AcquirePhysicalTxQueue

Acquires a Transmit Queue specified by the handle of the owning interface and the index of the Transmit Queue within that interface.

Rtnl2AddEtherTypeDispatchRule

Adds a rule to dispatch incoming packets to a given Physical Receive Queue based on the value of their EtherType.

Rtnl2CloseInterface

Closes a handle to an interface object.

Rtnl2CreateLinkStatusChangeEvent

Creates a Link Status Change event for the specified interface. This event is signaled by the NL2 whenever the link status of the interface changes.

Rtnl2CreateLogicalRxQueue

Creates a Logical Receive Queue object on a Physical Receive Queue specified by the handle of the owning interface and the index of the Physical Receive Queue within that interface.

Rtnl2CreateLogicalTxQueue

Creates a Logical Transmit Queue object above the hardware queue specified by the handle of the owning interface and the index of the Transmit Queue within that interface.

Rtnl2CreatePhysicalRxQueueEvent

Enables the hardware interrupt for a given Physical Receive Queue and creates an event for the specified Physical Receive Queue. This event is signaled by the NL2 each time the NIC triggers the hardware interrupt associated with that Physical Receive Queue.

Rtnl2CreatePhysicalTxQueueEvent

Enables the hardware interrupt for a given Physical Transmit Queue and creates an event for the specified Physical Transmit Queue. This event is signaled by the NL2 each time the NIC triggers the hardware interrupt associated with that Physical Transmit Queue.

Rtnl2DeleteEtherTypeDispatchRule

Deletes a dispatch rule previously set up by Rtnl2AddEtherTypeDispatchRule.

Rtnl2DestroyLinkStatusChangeEvent

Destroys a Link Status Change event previously created by Rtnl2CreateLinkStatusChangeEvent.

Rtnl2DestroyLogicalRxQueue

Destroys a Logical Receive Queue object created by RtNalCreateLogicalRxQueue.

Rtnl2DestroyLogicalTxQueue

Destroys a Logical Transmit Queue object created by RtNalCreateLogicalTxQueue.

Rtnl2DestroyPhysicalRxQueueEvent

Destroys a Receive event previously created by Rtnl2CreatePhysicalRxQueueEvent, and disable the hardware interrupt associated with the Physical Receive Queue.

Rtnl2DestroyPhysicalTxQueueEvent

Destroys a Transmit event previously created by Rtnl2CreatePhysicalTxQueueEvent, and disables the hardware interrupt associated with the Physical Transmit Queue.

Rtnl2EnableLogicalRxQueueTimestamping

Enables the Ingress Timestamp reporting for the frames received through a given Logical Receive Queue.

Rtnl2EnableLogicalTxQueueTimestamping

Enables the Egress Timestamp logic on a given Logical Transmit Queue and creates an event to monitor Egress Timestamps.

Rtnl2EnablePhysicalRxQueueTimestamping

Enables the Ingress Timestamp reporting for the frames received through a given Physical Receive Queue.

Rtnl2EnablePhysicalTxQueueTimestamping

Enables the Egress Timestamp logic on a Physical Transmit Queue and creates an event to monitor Egress Timestamps.

Rtnl2EnumInterface

Returns the name of an interface specified by its index.

Rtnl2ExtractFromPhysicalRxQueue

Checks the DMA ring of the specified Physical Receive Queue, and extracts buffers from the FIFO of the filled buffers.

Rtnl2ExtractFromPhysicalTxQueue

Checks the DMA ring of the specified Physical Transmit Queue, and extracts buffers from the FIFO of consumed buffers.

Rtnl2GetComponentStatus

Returns the status of the Network Link Layer (NL2) component.

Rtnl2GetEtherTypeDispatchRules

Gets the list of EtherType dispatch rules currently set up in the interface.

Rtnl2GetInterfaceConfig

Gets the configuration of an interface.

Rtnl2GetInterfaceFeatures

Gets the hardware features supported by an interface.

Rtnl2GetLinkStatus

Gets the current link status of an interface.

Rtnl2GetLogicalRxQueueMode

Gets the current setting value of the interface mode.

Rtnl2GetLogicalTxQueueTimestamp

Gets the value of the last Egress Timestamp for the Logical Transmit Queue.

Rtnl2GetMacAddress

Gets the MAC address of an interface.

Rtnl2GetMsixMessageConfig

Retrieves the configuration of an MSI-X message.

Rtnl2GetPhysicalRxQueueConfig

Gets the configuration of a Physical Receive Queue.

Rtnl2GetPhysicalRxQueueMode

Gets the current setting value of the interface mode.

Rtnl2GetPhysicalTxQueueBuffers

Returns one or more NL2 buffers to be used with a specified physical transmit queue.

Rtnl2GetPhysicalTxQueueConfig

Gets the configuration of a Physical Transmit Queue.

Rtnl2GetPhysicalTxQueueTimestamp

Gets the value of the last Egress Timestamp for the Physical Transmit Queue.

Rtnl2Init

Registers the current process as an NL2 client.

Rtnl2IsComponentLicensed

Returns the licensed status of the Network Link Layer (NL2) component.

Rtnl2OpenInterface

Opens the interface object specified by its name.

Rtnl2ReceiveFromLogicalRxQueue

Receives one frame from a specified Logical Receive Queue.

Rtnl2ReleasePhysicalRxQueue

Releases a Physical Receive Queue object previously acquired by Rtnl2AcquirePhysicalRxQueue.

Rtnl2ReleasePhysicalTxQueue

Releases a Physical Transmit Queue object previously acquired by Rtnl2AcquirePhysicalTxQueue.

Rtnl2ReturnPhysicalTxQueueBuffers

Returns one or more NL2 Buffers that were received for the specified physical transmit queue.

Rtnl2SetInterruptModeration

Sets the interval value for interrupt moderation.

Rtnl2SetLogicalRxQueueEtherTypeFilter

Configures the Logical Receive Queue EtherType filter of a Logical Receive Queue.

Rtnl2SetLogicalRxQueueMode

Enables or disables an interface mode setting.

Rtnl2SetLogicalRxQueueMulticastFilter

Configures the per-queue list of allowed Multicast Addresses for a given Logical Receive Queue.

Rtnl2SetPhysicalRxQueueMode

Enables or disables an interface mode setting.

Rtnl2SetPhysicalRxQueueMulticastFilter

Configures the per-queue list of allowed Multicast Addresses for a given Physical Receive Queue.

Rtnl2StartComponent

Starts the Network Link Layer (NL2) component.

Rtnl2StartLogicalRxQueue

Starts a Logical Receive Queue.

Rtnl2StopComponent

Stops the Network Link Layer (NL2) component.

Rtnl2StopLogicalRxQueue

Stops a Logical Receive Queue.

Rtnl2SubmitToPhysicalRxQueue

Submits one or more NL2 buffers for reception through a given Physical Receive Queue.

Rtnl2SubmitToPhysicalTxQueue

Submits NL2 buffers for transmission through a given Physical Transmit Queue.

Rtnl2TransmitOverLogicalTxQueue

Transmits one frame through a specified Logical Transmit Queue.