RtnIOCTLDriver
RtnIOCTLDriver is called when the Stack or application requires that the driver configure certain NIC modes or characteristics.
Syntax
BOOL RtnIOCTLDriver( VOID *ndp, INT cmd, CHAR *addr );
Parameters
ndp
Network Device Pointer. Opaque network device identifier.
cmd
Control code to execute.
addr
Pointer to IGMP Address when adding or deleting a multicast group.
Return Value
None.
Remarks
The following commands (passed in the cmd parameter) are possible.
Command | Description |
---|---|
ENIOCPROMISC |
(Optional) Turn on promiscuous mode |
ENIOCALL |
(Optional) Receive good and bad frames. Non-promisc. |
ENIOCNORMAL |
(Optional) Receive only good frames. Default mode. |
ENIOADDMULTI |
(Required) Add multicast route to this NIC (required command, should be implemented). The buffer parameter points to an Ethernet address byte string (6 bytes), which indicates the multicast group Ethernet address. RTX64 NIC drivers don’t implement address-based multicast. Instead, ENIOADDMULTI enables multicast-promiscuous mode. |
ENIODELMULTI |
(Required) Delete multicast route from this NIC (required command, should be implemented). The buffer parameter points to an Ethernet address byte string (6 bytes), which indicates the multicast group Ethernet address. A NULL buffer argument is used to notify the driver that the receive queue does not need to receive multicast packets. RTX64 NIC drivers don’t implement address-based multicast. Instead, ENIODELMULTI called with NULL buffer argument, disables multicast-promiscuous mode, if no queue requires receiving multicast packets. |
ENIOLINKSTATUS |
(Optional) Get the link status of the NIC. Returns a value of type RTND_MEDIA_CONNECT_STATE. |
Remarks
Neither RTX64 NIC drivers nor the RT-TCP/IP Stack support multicast hash tables or address arguments in ENIOADDMULTI and ENIODELMULTI IOCTLs. ENIOADDMULTI, when any address is specified, enables multicast promiscuous mode for a receive queue. When a NULL address is specified for ENIODELMULTI, it removes the driver multicast flag. The driver disables multicast promiscuous mode when no receive queues require multicast.
Requirements
Minimum Supported Version | RTX64 2013 |
Header | rtnapi.h |
Library | RtTcpip.lib |
See Also: