xref: /illumos-gate/usr/src/man/man9f/mac_link_update.9f (revision 6ed464ecaed26b9c4fc83c9edf03813e1c37c7e7)
152d2369aSRobert Mustacchi.\"
252d2369aSRobert Mustacchi.\" This file and its contents are supplied under the terms of the
352d2369aSRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
452d2369aSRobert Mustacchi.\" You may only use this file in accordance with the terms of version
552d2369aSRobert Mustacchi.\" 1.0 of the CDDL.
652d2369aSRobert Mustacchi.\"
752d2369aSRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
852d2369aSRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
952d2369aSRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1052d2369aSRobert Mustacchi.\"
1152d2369aSRobert Mustacchi.\"
1252d2369aSRobert Mustacchi.\" Copyright 2016 Joyent, Inc.
1352d2369aSRobert Mustacchi.\"
1452d2369aSRobert Mustacchi.Dd May 31, 2016
1552d2369aSRobert Mustacchi.Dt MAC_LINK_UPDATE 9F
1652d2369aSRobert Mustacchi.Os
1752d2369aSRobert Mustacchi.Sh NAME
1852d2369aSRobert Mustacchi.Nm mac_link_update
1952d2369aSRobert Mustacchi.Nd inform the MAC layer about a link state change
2052d2369aSRobert Mustacchi.Sh SYNOPSIS
2152d2369aSRobert Mustacchi.In sys/mac_provider.h
2252d2369aSRobert Mustacchi.Ft void
2352d2369aSRobert Mustacchi.Fo mac_link_update
2452d2369aSRobert Mustacchi.Fa "mac_handle_t mh"
2552d2369aSRobert Mustacchi.Fa "link_state_t link"
2652d2369aSRobert Mustacchi.Fc
2752d2369aSRobert Mustacchi.Sh INTERFACE LEVEL
2852d2369aSRobert Mustacchiillumos DDI specific
2952d2369aSRobert Mustacchi.Sh PARAMETERS
3052d2369aSRobert Mustacchi.Bl -tag -width Fa
3152d2369aSRobert Mustacchi.It Fa mh
3252d2369aSRobert MustacchiThe MAC handle obtained from a call to
3352d2369aSRobert Mustacchi.Xr mac_register 9F .
3452d2369aSRobert Mustacchi.It Fa link
3572d3dbb9SYuri PankovThe current state of the link.
3672d3dbb9SYuri PankovFor valid link states see the discussion of
3752d2369aSRobert Mustacchi.Sy MAC_PROP_STATUS
3852d2369aSRobert Mustacchiin the
39*6ed464ecSRobert Mustacchi.Sy PROPERTIES
4052d2369aSRobert Mustacchisection of
4152d2369aSRobert Mustacchi.Xr mac 9E .
4252d2369aSRobert Mustacchi.El
4352d2369aSRobert Mustacchi.Sh DESCRIPTION
4452d2369aSRobert MustacchiThe
4552d2369aSRobert Mustacchi.Fn mac_link_update
4652d2369aSRobert Mustacchifunction is used by device drivers to inform the MAC layer that the
4772d3dbb9SYuri Pankovstate of a link has changed.
4872d3dbb9SYuri PankovAs discussed in the
49*6ed464ecSRobert Mustacchi.Sy Link Updates
5052d2369aSRobert Mustacchisection of
5152d2369aSRobert Mustacchi.Xr mac 9E ,
5252d2369aSRobert Mustacchithe driver should call this whenever it detects that the state of the
5372d3dbb9SYuri Pankovlink has changed.
5472d3dbb9SYuri PankovIf the state has not changed, then the driver should not call this function.
5572d3dbb9SYuri PankovIn addition, if the device driver is powering off the link or is transitioning
5672d3dbb9SYuri Pankovto a state where it can no longer determine the link status, then it should make
5772d3dbb9SYuri Pankovsure to call this function with the value of
5852d2369aSRobert Mustacchi.Fa link
5952d2369aSRobert Mustacchiset to
6052d2369aSRobert Mustacchi.Sy LINK_STATE_UNKNOWN .
6152d2369aSRobert Mustacchi.Pp
6252d2369aSRobert MustacchiDevice drivers should ensure that they're not holding any of their
6352d2369aSRobert Mustacchispecific locks when calling this function.
6452d2369aSRobert Mustacchi.Sh CONTEXT
6552d2369aSRobert MustacchiThe
6652d2369aSRobert Mustacchi.Fn mac_link_update
6752d2369aSRobert Mustacchifunction may be called from
6852d2369aSRobert Mustacchi.Sy user ,
6952d2369aSRobert Mustacchi.Sy kernel ,
7052d2369aSRobert Mustacchior
7152d2369aSRobert Mustacchi.Sy interrupt
7252d2369aSRobert Mustacchicontext.
7352d2369aSRobert Mustacchi.Sh SEE ALSO
7452d2369aSRobert Mustacchi.Xr mac 9E ,
7552d2369aSRobert Mustacchi.Xr mac_register 9F
76