xref: /illumos-gate/usr/src/man/man9f/mac_lso_get.9f (revision 72d3dbb9)
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