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 June 02, 2016 1552d2369aSRobert Mustacchi.Dt MAC_RX 9F 1652d2369aSRobert Mustacchi.Os 1752d2369aSRobert Mustacchi.Sh NAME 1852d2369aSRobert Mustacchi.Nm mac_rx 1952d2369aSRobert Mustacchi.Nd deliver frames from a driver to the system 2052d2369aSRobert Mustacchi.Sh SYNOPSIS 2152d2369aSRobert Mustacchi.In sys/mac_provider.h 2252d2369aSRobert Mustacchi.Ft void 2352d2369aSRobert Mustacchi.Fo mac_rx 2452d2369aSRobert Mustacchi.Fa "mac_handle_t mh" 2552d2369aSRobert Mustacchi.Fa "mac_resource_handle_t mrh" 2652d2369aSRobert Mustacchi.Fa "mblk_t *mp_chain" 2752d2369aSRobert Mustacchi.Fc 2852d2369aSRobert Mustacchi.Sh INTERFACE LEVEL 2952d2369aSRobert Mustacchiillumos DDI specific 3052d2369aSRobert Mustacchi.Sh PARAMETERS 3152d2369aSRobert Mustacchi.Bl -tag -width Fa 3252d2369aSRobert Mustacchi.It Fa mh 3352d2369aSRobert MustacchiThe MAC handle obtained from a call to 3452d2369aSRobert Mustacchi.Xr mac_register 9F . 3552d2369aSRobert Mustacchi.It Fa mrh 3652d2369aSRobert MustacchiA reserved parameter that should be passed as 3752d2369aSRobert Mustacchi.Dv NULL . 3852d2369aSRobert Mustacchi.It Fa mp_chain 3952d2369aSRobert MustacchiA series of one or more 4052d2369aSRobert Mustacchi.Xr mblk 9S 4152d2369aSRobert Mustacchistructures chained together by their 4252d2369aSRobert Mustacchi.Sy b_next 4352d2369aSRobert Mustacchimember. 4452d2369aSRobert Mustacchi.El 4552d2369aSRobert Mustacchi.Sh DESCRIPTION 4652d2369aSRobert MustacchiThe 4752d2369aSRobert Mustacchi.Fn mac_rx 4852d2369aSRobert Mustacchifunction is used by device drivers to deliver frames that a device 49*72d3dbb9SYuri Pankovdriver has received to the rest of the operating system. 50*72d3dbb9SYuri PankovThis will generally be called at the end of a device driver's interrupt handler 5152d2369aSRobert Mustacchiafter it is has converted all of the incoming data into a chain of 5252d2369aSRobert Mustacchi.Xr mblk 9S 53*72d3dbb9SYuri Pankovstructures. 54*72d3dbb9SYuri PankovFor a full description of the process that the device driver should take as part 55*72d3dbb9SYuri Pankovof receiving data, see the 5652d2369aSRobert Mustacchi.Sx Receiving Data 5752d2369aSRobert Mustacchisection of 5852d2369aSRobert Mustacchi.Xr mac 9E . 5952d2369aSRobert Mustacchi.Pp 6052d2369aSRobert MustacchiDevice drivers should ensure that they are not holding any of their own 6152d2369aSRobert Mustacchilocks when they call the 6252d2369aSRobert Mustacchi.Fn mac_rx 6352d2369aSRobert Mustacchifunction. 6452d2369aSRobert Mustacchi.Pp 6552d2369aSRobert MustacchiDevice drivers should not call the 6652d2369aSRobert Mustacchi.Fn mac_rx 67*72d3dbb9SYuri Pankovfunction after each individual mblk_t is assembled. 68*72d3dbb9SYuri PankovRather, the device driver should batch up as many frames as it is willing to 69*72d3dbb9SYuri Pankovprocess in a given interrupt or otherwise. 7052d2369aSRobert Mustacchi.Sh CONTEXT 7152d2369aSRobert MustacchiThe 7252d2369aSRobert Mustacchi.Fn mac_rx 7352d2369aSRobert Mustacchifunction can be called from 7452d2369aSRobert Mustacchi.Sy user , 7552d2369aSRobert Mustacchi.Sy kernel , 7652d2369aSRobert Mustacchior 7752d2369aSRobert Mustacchi.Sy interrupt 7852d2369aSRobert Mustacchicontext. 7952d2369aSRobert Mustacchi.Sh SEE ALSO 8052d2369aSRobert Mustacchi.Xr mac 9E , 8152d2369aSRobert Mustacchi.Xr mac_register 9F , 8252d2369aSRobert Mustacchi.Xr mblk 9S 83