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_LSO_GET 9F 1652d2369aSRobert Mustacchi.Os 1752d2369aSRobert Mustacchi.Sh NAME 1852d2369aSRobert Mustacchi.Nm mac_lso_get 1952d2369aSRobert Mustacchi.Nd get LSO information on message blocks 2052d2369aSRobert Mustacchi.Sh SYNOPSIS 2152d2369aSRobert Mustacchi.In sys/mac_provider.h 2252d2369aSRobert Mustacchi.Ft void 2352d2369aSRobert Mustacchi.Fo mac_lso_get 2452d2369aSRobert Mustacchi.Fa "mblk_t *mp" 2552d2369aSRobert Mustacchi.Fa "uint32_t *mss" 2652d2369aSRobert Mustacchi.Fa "uint32_t *flags" 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 mp 3352d2369aSRobert MustacchiA pointer to a 3452d2369aSRobert Mustacchi.Xr mblk 9S 3552d2369aSRobert Mustacchistructure that contains an outgoing frame. 3652d2369aSRobert Mustacchi.It Fa mss 3752d2369aSRobert MustacchiA pointer to a value that will be filled in with the maximum segment 3852d2369aSRobert Mustacchisize (MSS). 3952d2369aSRobert Mustacchi.It Fa flags 4052d2369aSRobert MustacchiA pointer to a value that will be filled in with various flags that 4152d2369aSRobert Mustacchiindicate the behavior to perform. 4252d2369aSRobert Mustacchi.El 4352d2369aSRobert Mustacchi.Sh DESCRIPTION 4452d2369aSRobert MustacchiThe 4552d2369aSRobert Mustacchi.Fn mac_lso_get 4652d2369aSRobert Mustacchifunction is used by device drivers that have indicated that they support 4752d2369aSRobert Mustacchithe 4852d2369aSRobert Mustacchi.Sy MAC_CAPAB_LSO 4952d2369aSRobert Mustacchicapability to determine whether large send offload (also known as large 50*72d3dbb9SYuri Pankovsegmentation offload or LSO) is required for this frame or not. 51*72d3dbb9SYuri PankovIf so, the driver should take the appropriate actions to program the hardware 5252d2369aSRobert Mustacchito perform LSO. 5352d2369aSRobert Mustacchi.Pp 5452d2369aSRobert MustacchiThe 5552d2369aSRobert Mustacchi.Fn mac_lso_get 5652d2369aSRobert Mustacchifunction should only be called on the first 5752d2369aSRobert Mustacchi.Sy mblk_t 58*72d3dbb9SYuri Pankovthat begins a given individual frame in a chain. 59*72d3dbb9SYuri PankovIn other words, it only works on entries where it is the first of many possible 60*72d3dbb9SYuri Pankoventries linked together by the 6152d2369aSRobert Mustacchi.Sy b_cont 62*72d3dbb9SYuri Pankovmember. 63*72d3dbb9SYuri PankovThe first 6452d2369aSRobert Mustacchi.Sy mblk_t 6552d2369aSRobert Mustacchireceived from any 6652d2369aSRobert Mustacchi.Xr mac 9E 6752d2369aSRobert MustacchiAPI or pointed to by a 6852d2369aSRobert Mustacchi.Sy b_next 6952d2369aSRobert Mustacchipointer should be used. 7052d2369aSRobert Mustacchi.Pp 7152d2369aSRobert MustacchiA device driver should first look at the 7252d2369aSRobert Mustacchi.Fa flags 7352d2369aSRobert Mustacchiargument to determine what to do. 7452d2369aSRobert Mustacchi.Fa flags 7552d2369aSRobert Mustacchimay be a bitwise inclusive OR of the following: 7652d2369aSRobert Mustacchi.Bl -tag -width Sy 7752d2369aSRobert Mustacchi.It Sy HW_LSO 7852d2369aSRobert MustacchiThis flag indicates that hardware needs to perform segmentation 79*72d3dbb9SYuri Pankovoffload. 80*72d3dbb9SYuri PankovThe maximum segment size that the driver should use is available through the 8152d2369aSRobert Mustacchi.Fa mss 8252d2369aSRobert Mustacchiargument. 8352d2369aSRobert Mustacchi.El 8452d2369aSRobert Mustacchi.Sh CONTEXT 8552d2369aSRobert MustacchiThe 8652d2369aSRobert Mustacchi.Fn mac_lso_get 8752d2369aSRobert Mustacchifunction may be called from 8852d2369aSRobert Mustacchi.Sy user , 8952d2369aSRobert Mustacchi.Sy kernel , 9052d2369aSRobert Mustacchior 9152d2369aSRobert Mustacchi.Sy interrupt 9252d2369aSRobert Mustacchicontext. 9352d2369aSRobert Mustacchi.Sh SEE ALSO 9452d2369aSRobert Mustacchi.Xr mac 9E , 9552d2369aSRobert Mustacchi.Xr mblk 9S 96