MAC_MAXSDU_UPDATE(9F) Kernel Functions for Drivers MAC_MAXSDU_UPDATE(9F)
NAME
mac_maxsdu_update - indicate that a device's maximum data size has changed
SYNOPSIS
#include <sys/mac_provider.h> int mac_maxsdu_update(
mac_handle_t mh,
uint_t sdu);
INTERFACE LEVEL
illumos DDI specific
PARAMETERS
mh The MAC handle obtained from a call to
mac_register(9F).
sdu An integer representing the maximum size data payload.
DESCRIPTION
The
mac_maxsdu_update() function is used to inform the MAC layer that the
device represented by the handle
mh has changed the largest size frame that
it can transmit, also known as its Send Data Unit (SDU). This should be
called when the device's MTU has been requested to be changed when a
driver's
mc_setprop(9E) entry point has been called with the property
MAC_PROP_MTU or some other device-related event occurring.
The
sdu represents the size of the largest payload ignoring the size of its
own headers or any margin. For example, for an Ethernet-based device, this
size should not include the Ethernet header or any VLAN tags.
Through VNICs and other virtual data links, many different devices may be
using a single physical device and have their own MTUs. The system takes
care of those concerns and will not ask a device driver to update the MTU
without verifying this.
RETURN VALUES
Upon successful completion, the
mac_maxsdu_update() function returns
0.
Otherwise, a non-negative error is returned.
EXAMPLES
For an example of how a device driver should use the
mac_maxsdu_update()
function, see the
EXAMPLES section in
mc_setprop(9E).
ERRORS
The
max_maxsdu_update() function may fail if:
EINVAL The specified
sdu is lower than the minimum SDU of the
device.
SEE ALSO
mac(9E),
mc_setprop(9E),
mac_register(9F)illumos June 2, 2016 illumos