MDI ioctls
MDI ioctls are used
to change the operation of and get information about
the network adapter being driven by the MDI driver.
They are sent by the MAC user
in STREAMS messages of type
M_IOCTL(D7str).
For more information about STREAMS
ioctl messages, see
``STREAMS ioctls''.
How a MDI ioctl is contained within STREAMS messages
The ioc_cmd
member of the
iocblk(D4str)
structure
conveys the IOCTL command to be processed.
When the MDI driver has finished processing
the MDI ioctl,
it must respond with either an
M_IOCACK(D7str)
or a
M_IOCNAK(D7str)
message type.
If the processing was successful,
then the MDI driver should respond
by changing the original MDI ioctl request message
in the following ways:
-
Change the
db_type
member
of the first dblk_t to M_IOCACK
-
Set the
ioc_error
member to zero
-
Unless stated below, set the
ioc_rval
field to zero
-
Send the message upstream (back to the MAC user)
Do not call
freemsg(D3str)
on the original M_IOCTL message
because this causes important data identifying
the M_IOCTL to be lost.
If the processing did not complete successfully,
then the MDI driver should respond
by changing the original MDI ioctl request
in the following ways:
The following ioctls and associated processing are described in
Section 7mdi manual pages.
This manual page section documents the ioctls
used in MDI drivers on both SVR5 and SCO OpenServer 5 systems.
Check the manual pages for details about
supported versions for each.
MACIOC_DELALLMCA(7mdi)-
Only send frames sent upstream to a group address
that is explicitly set with MACIOC_SETMCA
(SVR5 only).
MACIOC_DELMCA(7mdi)-
Requests that the MDI driver
stop receiving frames sent to a multicast address.
This is issued when the last DLS user
issues the DL_DISABMULTI_REQ primitive.
MACIOC_GETADDR(7mdi)-
Requests that the MDI driver
return the current MAC address.
MACIOC_GETRADDR(7mdi)-
Requests that the MDI driver
return the factory MAC address.
MACIOC_GETMCA(7mdi)-
Requests that the MDI driver return
the active multicast address
(SCO OpenServer 5 only).
MACIOC_GETMCSIZ(7mdi)-
Requests that the MDI driver return
the multicast address table size
(SCO OpenServer 5 only).
MACIOC_GETSTAT(7mdi)-
Requests that the MDI driver return
media-specific statistics
that contain information about
the MDI driver, the network adapter and
the network itself.
Statistics structures are provided for:
Ethernet-
mac_stats_eth(D4mdi)
Token Ring-
mac_stats_tr(D4mdi)
FDDI-
mac_stats_fddi(D4mdi)
ISDN-
mac_stats_isdn(D4mdi)
MACIOC_PROMISC(7mdi)-
Requests that the MDI driver
enable promiscuous mode on the adapter.
MACIOC_SETADDR(7mdi)-
Requests that the MDI driver
set the MAC address
(SCO OpenServer 5 only).
MACIOC_SETALLMCA(7mdi)-
Receive/send frames sent to any group address upstream
(SVR5 only).
MACIOC_SETMCA(7mdi)-
Requests that the MDI driver begin
receiving frames sent to the requested multicast address
in addition to the adapter's unicast MAC address,
broadcast address and existing multicast addresses.
MACIOC_SETSTAT(7mdi)-
Requests that the MDI driver modify
the MIB settable attributes
related to the MDI driver,
the network adapter and the network itself.
MACIOC_CLRSTAT(7mdi)-
Requests that the MDI driver
clear all the information collected in
its statistics structure.
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005