MACIOC_SETADDR(7mdi)


MACIOC_SETADDR -- MDI set MAC address ioctl

Description

This ioctl requests that the MDI driver set the MAC address in use on the controller. The request will appear as an M_IOCTL(D7str) message block with an associated M_DATA(D7str) block that contains the MAC address to be used. This new address should be used as the source MAC address for all transmitted packets and the controller should be set to receive packets sent to this address, as well as all defined multicast addresses and all MAC level broadcasts. This request should only be acted upon if ioc_uid is set to zero.

The new MAC address must be preserved across a close and subsequent open of the driver. When this driver is unloaded from the kernel and subsequently reloaded, the value of the current MAC address must be reset to the factory MAC address.

Parameters

The ioctl data contains the MAC address to be set.

Data returned

Acknowledgement should be one of the following:

M_IOCACK(D7str)
Set ioc_rval to zero. The ioctl data must be returned in the mp->b_cont portion of the message; this portion of the message cannot be freed by the driver.

M_IOCNAK(D7str)
Set ioc_count to zero, ioc_rval to -1, and ioc_error to one of the following:

EPERM
insufficient privilege

EINVAL
Device does not use MAC addresses

EACCES
Device does not support changing the MAC address.

For any other error conditions, set ioc_error to an appropriate value from errnos(D5).

Version applicability

mdi: 1, 2, 2.1

References

Intro(MDI)

``MDI ioctls'' in HDK Technical Reference


02 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
HDK 7.1.0b - 15 March 2000