xref: /illumos-gate/usr/src/man/man9s/mac_callbacks.9s (revision 2c0ebdee8f56c8a9d9e34e30367999396b38fec9)
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.\"
12*2c0ebdeeSRobert Mustacchi.\" Copyright (c) 2017, Joyent, Inc.
13*2c0ebdeeSRobert Mustacchi.\" Copyright 2022 Oxide Computer Company
1452d2369aSRobert Mustacchi.\"
15*2c0ebdeeSRobert Mustacchi.Dd July 2, 2022
1652d2369aSRobert Mustacchi.Dt MAC_CALLBACKS 9S
1752d2369aSRobert Mustacchi.Os
1852d2369aSRobert Mustacchi.Sh NAME
1952d2369aSRobert Mustacchi.Nm mac_callbacks ,
2052d2369aSRobert Mustacchi.Nm mac_callbacks_t
2152d2369aSRobert Mustacchi.Nd networking device driver entry points structure
2252d2369aSRobert Mustacchi.Sh SYNOPSIS
2352d2369aSRobert Mustacchi.In sys/mac_provider.h
2452d2369aSRobert Mustacchi.Sh INTERFACE LEVEL
2552d2369aSRobert Mustacchiillumos DDI specific
2652d2369aSRobert Mustacchi.Sh DESCRIPTION
2752d2369aSRobert MustacchiThe
2852d2369aSRobert Mustacchi.Sy mac_callbacks
29*2c0ebdeeSRobert Mustacchistructure is used by GLDv3 networking device drivers implementing and
30*2c0ebdeeSRobert Mustacchiusing the
3152d2369aSRobert Mustacchi.Xr mac 9E
32*2c0ebdeeSRobert Mustacchiframework and interfaces.
3352d2369aSRobert Mustacchi.Pp
3452d2369aSRobert MustacchiThe structure is normally allocated statically by drivers as a single
3572d3dbb9SYuri Pankovglobal entry.
3672d3dbb9SYuri PankovA pointer to it is passed as the
37*2c0ebdeeSRobert Mustacchi.Fa m_callbacks
3852d2369aSRobert Mustacchimember of the
39*2c0ebdeeSRobert Mustacchi.Vt mac_register_t
4052d2369aSRobert Mustacchistructure.
4152d2369aSRobert Mustacchi.Sh TYPES
4252d2369aSRobert MustacchiThe following types define the function pointers in use in the
43*2c0ebdeeSRobert Mustacchi.Vt mac_register_t .
4452d2369aSRobert Mustacchi.Bd -literal -offset indent
4552d2369aSRobert Mustacchitypedef int		(*mac_getstat_t)(void *, uint_t, uint64_t *);
4652d2369aSRobert Mustacchitypedef	int		(*mac_start_t)(void *);
4752d2369aSRobert Mustacchitypedef void		(*mac_stop_t)(void *);
4852d2369aSRobert Mustacchitypedef int		(*mac_setpromisc_t)(void *, boolean_t);
4952d2369aSRobert Mustacchitypedef int		(*mac_multicst_t)(void *, boolean_t, const uint8_t *);
5052d2369aSRobert Mustacchitypedef int		(*mac_unicst_t)(void *, const uint8_t *);
5152d2369aSRobert Mustacchitypedef void		(*mac_ioctl_t)(void *, queue_t *, mblk_t *);
5252d2369aSRobert Mustacchitypedef void		(*mac_resources_t)(void *);
5352d2369aSRobert Mustacchitypedef mblk_t		*(*mac_tx_t)(void *, mblk_t *);
5452d2369aSRobert Mustacchitypedef	boolean_t	(*mac_getcapab_t)(void *, mac_capab_t, void *);
5552d2369aSRobert Mustacchitypedef	int		(*mac_open_t)(void *);
5652d2369aSRobert Mustacchitypedef void		(*mac_close_t)(void *);
5752d2369aSRobert Mustacchitypedef	int		(*mac_set_prop_t)(void *, const char *, mac_prop_id_t,
5852d2369aSRobert Mustacchi			    uint_t, const void *);
5952d2369aSRobert Mustacchitypedef	int		(*mac_get_prop_t)(void *, const char *, mac_prop_id_t,
6052d2369aSRobert Mustacchi			    uint_t, void *);
6152d2369aSRobert Mustacchitypedef void		(*mac_prop_info_t)(void *, const char *, mac_prop_id_t,
6252d2369aSRobert Mustacchi			    mac_prop_info_handle_t);
6352d2369aSRobert Mustacchi.Ed
6452d2369aSRobert Mustacchi.Sh STRUCTURE MEMBERS
6552d2369aSRobert Mustacchi.Bd -literal -offset indent
6652d2369aSRobert Mustacchiuint_t		mc_callbacks;	/* Denotes which callbacks are set */
6752d2369aSRobert Mustacchimac_getstat_t	mc_getstat;	/* Get the value of a statistic */
6852d2369aSRobert Mustacchimac_start_t	mc_start;	/* Start the device */
6952d2369aSRobert Mustacchimac_stop_t	mc_stop;	/* Stop the device */
7052d2369aSRobert Mustacchimac_setpromisc_t mc_setpromisc;	/* Enable or disable promiscuous mode */
7152d2369aSRobert Mustacchimac_multicst_t	mc_multicst;	/* Enable or disable a multicast addr */
7252d2369aSRobert Mustacchimac_unicst_t	mc_unicst;	/* Set the unicast MAC address */
7352d2369aSRobert Mustacchimac_tx_t	mc_tx;		/* Transmit a packet */
7452d2369aSRobert Mustacchivoid		*mc_reserved;	/* Reserved, do not use */
7552d2369aSRobert Mustacchimac_ioctl_t	mc_ioctl;	/* Process an unknown ioctl */
7652d2369aSRobert Mustacchimac_getcapab_t	mc_getcapab;	/* Get capability information */
7752d2369aSRobert Mustacchimac_open_t	mc_open;	/* Open the device */
7852d2369aSRobert Mustacchimac_close_t	mc_close;	/* Close the device */
7952d2369aSRobert Mustacchimac_set_prop_t	mc_setprop;	/* Set a device property */
8052d2369aSRobert Mustacchimac_get_prop_t	mc_getprop;	/* Get a device property */
8152d2369aSRobert Mustacchimac_prop_info_t	mc_propinfo;	/* Get property information */
8252d2369aSRobert Mustacchi.Ed
8352d2369aSRobert Mustacchi.Pp
8452d2369aSRobert MustacchiThe
85*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
8652d2369aSRobert Mustacchimember is used to denote which of a series of optional callbacks are
8772d3dbb9SYuri Pankovpresent.
8872d3dbb9SYuri PankovThis method allows additional members to be added to the
89*2c0ebdeeSRobert Mustacchi.Vt mac_callbacks_t
9072d3dbb9SYuri Pankovstructure while maintaining ABI compatibility with existing modules.
9172d3dbb9SYuri PankovIf a member is not mentioned below, then it is a part of the base version
9252d2369aSRobert Mustacchiof the structure and device drivers do not need to set anything to
9352d2369aSRobert Mustacchiindicate that it is present.
9452d2369aSRobert MustacchiThe
95*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
9652d2369aSRobert Mustacchimember should be set to the bitwise inclusive OR of the following
9752d2369aSRobert Mustacchipre-processor values:
9852d2369aSRobert Mustacchi.Bl -tag -width Dv -offset indent
99*2c0ebdeeSRobert Mustacchi.It Dv MC_IOCTL
10052d2369aSRobert MustacchiIndicates that the
101*2c0ebdeeSRobert Mustacchi.Fa mc_ioctl
10252d2369aSRobert Mustacchistructure member has been set.
103*2c0ebdeeSRobert Mustacchi.It Dv MC_GETCAPAB
10452d2369aSRobert MustacchiIndicates that the
105*2c0ebdeeSRobert Mustacchi.Fa mc_getcapab
10652d2369aSRobert Mustacchistructure member has been set.
107*2c0ebdeeSRobert Mustacchi.It Dv MC_OPEN
10852d2369aSRobert MustacchiIndicates that the
109*2c0ebdeeSRobert Mustacchi.Fa mc_open
11052d2369aSRobert Mustacchistructure member has been set.
111*2c0ebdeeSRobert Mustacchi.It Dv MC_CLOSE
11252d2369aSRobert MustacchiIndicates that the
113*2c0ebdeeSRobert Mustacchi.Fa mc_close
11452d2369aSRobert Mustacchistructure member has been set.
115*2c0ebdeeSRobert Mustacchi.It Dv MC_SETPROP
11652d2369aSRobert MustacchiIndicates that the
117*2c0ebdeeSRobert Mustacchi.Fa mc_setprop
11852d2369aSRobert Mustacchistructure member has been set.
119*2c0ebdeeSRobert Mustacchi.It Dv MC_GETPROP
12052d2369aSRobert MustacchiIndicates that the
121*2c0ebdeeSRobert Mustacchi.Fa mc_getprop
12252d2369aSRobert Mustacchistructure member has been set.
123*2c0ebdeeSRobert Mustacchi.It Dv MC_PROPINFO
12452d2369aSRobert MustacchiIndicates that the
125*2c0ebdeeSRobert Mustacchi.Fa mc_propinfo
12652d2369aSRobert Mustacchistructure member has been set.
127*2c0ebdeeSRobert Mustacchi.It Dv MC_PROPERTIES
12852d2369aSRobert MustacchiIndicates that the
129*2c0ebdeeSRobert Mustacchi.Fa mc_getprop ,
130*2c0ebdeeSRobert Mustacchi.Fa mc_propinfo ,
13152d2369aSRobert Mustacchiand
132*2c0ebdeeSRobert Mustacchi.Fa mc_setprop
13352d2369aSRobert Mustacchistructure members have been set.
13452d2369aSRobert Mustacchi.El
13552d2369aSRobert Mustacchi.Pp
13652d2369aSRobert MustacchiThe
137*2c0ebdeeSRobert Mustacchi.Fa mc_getstat
13852d2369aSRobert Mustacchifunction defines an entry point used to receive statistics about the
13972d3dbb9SYuri Pankovdevice.
14072d3dbb9SYuri PankovA list of statistics that it is required to support is available in
14152d2369aSRobert Mustacchi.Xr mac 9E .
14252d2369aSRobert MustacchiFor more information on the requirements of the function, see
14352d2369aSRobert Mustacchi.Xr mc_getstat 9E .
14452d2369aSRobert Mustacchi.Pp
14552d2369aSRobert MustacchiThe
146*2c0ebdeeSRobert Mustacchi.Fa mc_start
14772d3dbb9SYuri Pankovmember defines an entry point that is used to start the device.
14872d3dbb9SYuri PankovFor more information on the requirements of the function, see
14952d2369aSRobert Mustacchi.Xr mc_start 9E .
15052d2369aSRobert Mustacchi.Pp
15152d2369aSRobert MustacchiThe
152*2c0ebdeeSRobert Mustacchi.Fa mc_stop
15372d3dbb9SYuri Pankovmember defines an entry point that is used to stop the device.
15472d3dbb9SYuri PankovIt is the opposite of the
155*2c0ebdeeSRobert Mustacchi.Fa mc_start
15672d3dbb9SYuri Pankovmember.
15772d3dbb9SYuri PankovFor more information on the requirements of the function, see
15852d2369aSRobert Mustacchi.Xr mc_stop 9E .
15952d2369aSRobert Mustacchi.Pp
16052d2369aSRobert MustacchiThe
161*2c0ebdeeSRobert Mustacchi.Fa mc_setpromisc
16272d3dbb9SYuri Pankovmember is used to enable and disable promiscuous mode on the device.
16372d3dbb9SYuri PankovFor more information on the requirements of the function, see
16452d2369aSRobert Mustacchi.Xr mc_setpromisc 9E .
16552d2369aSRobert Mustacchi.Pp
16652d2369aSRobert MustacchiThe
167*2c0ebdeeSRobert Mustacchi.Fa mc_multicst
16852d2369aSRobert Mustacchimember is used to enable or disable multicast addresses in the device's
16972d3dbb9SYuri Pankovfilters.
17072d3dbb9SYuri PankovFor more information on the requirements of the function, see
17152d2369aSRobert Mustacchi.Xr mc_multicst 9E .
17252d2369aSRobert Mustacchi.Pp
17352d2369aSRobert MustacchiThe
174*2c0ebdeeSRobert Mustacchi.Fa mc_unicst
17552d2369aSRobert Mustacchimember is used to set the primary unicast MAC address of the device.
17652d2369aSRobert MustacchiFor more information on the requirements of the function, see
17752d2369aSRobert Mustacchi.Xr mc_unicst 9E .
17852d2369aSRobert Mustacchi.Pp
17952d2369aSRobert MustacchiThe
180*2c0ebdeeSRobert Mustacchi.Fa mc_tx
18172d3dbb9SYuri Pankovmember is used to transmit a single message on the wire.
18272d3dbb9SYuri PankovFor more information on the requirements of the function, see
18352d2369aSRobert Mustacchi.Xr mc_tx 9E .
18452d2369aSRobert Mustacchi.Pp
18552d2369aSRobert MustacchiThe
186*2c0ebdeeSRobert Mustacchi.Fa mc_ioctl
18772d3dbb9SYuri Pankovmember is used to process device specific ioctls.
188*2c0ebdeeSRobert MustacchiThe MAC framework does not define any ioctls that devices should handle;
189*2c0ebdeeSRobert Mustacchihowever, there may be private ioctls for this device.
19072d3dbb9SYuri PankovThis entry point is optional.
19172d3dbb9SYuri PankovFor it to be considered, the
192*2c0ebdeeSRobert Mustacchi.Dv MC_IOCTL
19352d2369aSRobert Mustacchivalue must be present in the
194*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
19572d3dbb9SYuri Pankovmember.
19672d3dbb9SYuri PankovFor more information on the requirements of the function, see
19752d2369aSRobert Mustacchi.Xr mc_ioctl 9E .
19852d2369aSRobert Mustacchi.Pp
19952d2369aSRobert MustacchiThe
200*2c0ebdeeSRobert Mustacchi.Fa mc_getcapab
20172d3dbb9SYuri Pankovmember is used to determine device capabilities.
20272d3dbb9SYuri PankovEach capability has its own data and semantics associated with it.
20372d3dbb9SYuri PankovA list of capabilities is provided in
20452d2369aSRobert Mustacchi.Xr mac 9E .
20572d3dbb9SYuri PankovThis entry point is optional.
20672d3dbb9SYuri PankovFor it to be used, the
207*2c0ebdeeSRobert Mustacchi.Dv MC_GETCAPAB
20852d2369aSRobert Mustacchivalue must be present in the
209*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
21072d3dbb9SYuri Pankovmember.
21172d3dbb9SYuri PankovFor more information on the requirements of the function, see
21252d2369aSRobert Mustacchi.Xr mc_getcapab 9E .
21352d2369aSRobert Mustacchi.Pp
21452d2369aSRobert MustacchiThe
215*2c0ebdeeSRobert Mustacchi.Fa mc_open
21652d2369aSRobert Mustacchimember is used to provide specific actions to take when the device is
21772d3dbb9SYuri Pankovopened.
21872d3dbb9SYuri PankovNote that most device drivers will not have a need to implement this.
21972d3dbb9SYuri PankovIt is not required for this function to be implemented for this device to be
22072d3dbb9SYuri Pankovused with
221bbf21555SRichard Lowe.Xr dlpi 4P .
22272d3dbb9SYuri PankovThis entry point is optional.
22372d3dbb9SYuri PankovFor it to be used, the
224*2c0ebdeeSRobert Mustacchi.Dv MC_OPEN
22552d2369aSRobert Mustacchivalue must be present in the
226*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
22772d3dbb9SYuri Pankovmember.
22872d3dbb9SYuri PankovFor more information on the requirements of the function, see
22952d2369aSRobert Mustacchi.Xr mc_open 9E .
23052d2369aSRobert Mustacchi.Pp
23152d2369aSRobert MustacchiThe
232*2c0ebdeeSRobert Mustacchi.Fa mc_close
23352d2369aSRobert Mustacchimember is used to provide specific actions to take when the device is
23472d3dbb9SYuri Pankovclosed.
23572d3dbb9SYuri PankovNote that most device drivers will not have a need to implement this.
23672d3dbb9SYuri PankovIt is not required for this function to be implemented for this device to be
23772d3dbb9SYuri Pankovused with
238bbf21555SRichard Lowe.Xr dlpi 4P .
23972d3dbb9SYuri PankovThis entry point is optional.
24072d3dbb9SYuri PankovFor it to be used, the
241*2c0ebdeeSRobert Mustacchi.Dv MC_CLOSE
24252d2369aSRobert Mustacchivalue must be present in the
243*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
24472d3dbb9SYuri Pankovmember.
24572d3dbb9SYuri PankovFor more information on the requirements of the function, see
24652d2369aSRobert Mustacchi.Xr mc_close 9E .
24752d2369aSRobert Mustacchi.Pp
24852d2369aSRobert MustacchiThe
249*2c0ebdeeSRobert Mustacchi.Fa mc_getprop
25072d3dbb9SYuri Pankovmember is used to get the current value of a property from the device.
25172d3dbb9SYuri PankovA list of properties, their sizes, and their interpretation is available in
25252d2369aSRobert Mustacchi.Xr mac 9E .
25372d3dbb9SYuri PankovThis entry point is optional.
25472d3dbb9SYuri PankovFor it to be used, the
255*2c0ebdeeSRobert Mustacchi.Dv MC_GETPROP
25652d2369aSRobert Mustacchivalue must be present in the
257*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
25872d3dbb9SYuri Pankovmember.
25972d3dbb9SYuri PankovFor more information on the requirements of the function, see
26052d2369aSRobert Mustacchi.Xr mc_getprop 9E .
26152d2369aSRobert Mustacchi.Pp
26252d2369aSRobert MustacchiThe
263*2c0ebdeeSRobert Mustacchi.Fa mc_setprop
26472d3dbb9SYuri Pankovmember is used to set the value of a device property.
26572d3dbb9SYuri PankovA list of properties, their sizes, and their interpretation is available in
26652d2369aSRobert Mustacchi.Xr mac 9E .
26772d3dbb9SYuri PankovThis entry point is optional.
26872d3dbb9SYuri PankovFor it to be used, the
269*2c0ebdeeSRobert Mustacchi.Dv MC_SETPROP
27052d2369aSRobert Mustacchivalue must be present in the
271*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
27272d3dbb9SYuri Pankovmember.
27372d3dbb9SYuri PankovFor more information on the requirements of the function, see
27452d2369aSRobert Mustacchi.Xr mc_setprop 9E .
27552d2369aSRobert Mustacchi.Pp
27652d2369aSRobert MustacchiThe
277*2c0ebdeeSRobert Mustacchi.Fa mc_propinfo
27852d2369aSRobert Mustacchimember is used to obtain metadata about a property such as its default
27972d3dbb9SYuri Pankovvalue, whether or not it is writable, and more.
28072d3dbb9SYuri PankovA list of properties, their sizes, and their interpretation is available in
28152d2369aSRobert Mustacchi.Xr mac 9E .
28272d3dbb9SYuri PankovThis entry point is optional.
28372d3dbb9SYuri PankovFor it to be used, the
284*2c0ebdeeSRobert Mustacchi.Dv MC_PROPINFO
28552d2369aSRobert Mustacchivalue must be present in the
286*2c0ebdeeSRobert Mustacchi.Fa mc_callbacks
28772d3dbb9SYuri Pankovmember.
28872d3dbb9SYuri PankovFor more information on the requirements of the function, see
28952d2369aSRobert Mustacchi.Xr mc_propinfo 9E .
29052d2369aSRobert Mustacchi.Ss Required Members
29152d2369aSRobert MustacchiMany members in the structure are optional; however, the following
29252d2369aSRobert Mustacchimembers must be set or a call to
29352d2369aSRobert Mustacchi.Xr mac_register 9F
29452d2369aSRobert Mustacchiwill fail.
29552d2369aSRobert Mustacchi.Bl -bullet -offset indent
29652d2369aSRobert Mustacchi.It
297*2c0ebdeeSRobert Mustacchi.Fa mc_getstat
29852d2369aSRobert Mustacchi.It
299*2c0ebdeeSRobert Mustacchi.Fa mc_start
30052d2369aSRobert Mustacchi.It
301*2c0ebdeeSRobert Mustacchi.Fa mc_stop
30252d2369aSRobert Mustacchi.It
303*2c0ebdeeSRobert Mustacchi.Fa mc_setpromisc
30452d2369aSRobert Mustacchi.It
305*2c0ebdeeSRobert Mustacchi.Fa mc_multicst
30652d2369aSRobert Mustacchi.It
307*2c0ebdeeSRobert Mustacchi.Fa mc_tx
30852d2369aSRobert Mustacchi.It
309*2c0ebdeeSRobert Mustacchi.Fa mc_unicst
31052d2369aSRobert Mustacchi.El
31152d2369aSRobert Mustacchi.Pp
312*2c0ebdeeSRobert MustacchiDevices which implement the
313*2c0ebdeeSRobert Mustacchi.Dv MAC_CAPAB_RINGS
314*2c0ebdeeSRobert Mustacchicapability for receive rings must not implement the
315*2c0ebdeeSRobert Mustacchi.Fa mc_unicst
316*2c0ebdeeSRobert Mustacchientry point.
317*2c0ebdeeSRobert MustacchiDevices which implement the
318*2c0ebdeeSRobert Mustacchi.Dv MAC_CAPAB_RINGS
319*2c0ebdeeSRobert Mustacchicapability for transmit rings must not implement the
320*2c0ebdeeSRobert Mustacchi.Fa mc_tx
321*2c0ebdeeSRobert Mustacchientry points.
322*2c0ebdeeSRobert MustacchiFor more information about the capability, please see
323*2c0ebdeeSRobert Mustacchi.Xr mac_capab_rings 9E .
32452d2369aSRobert Mustacchi.Pp
32552d2369aSRobert MustacchiGenerally, a device that implements one of
326*2c0ebdeeSRobert Mustacchi.Fa mc_getprop ,
327*2c0ebdeeSRobert Mustacchi.Fa mc_setprop ,
32852d2369aSRobert Mustacchior
329*2c0ebdeeSRobert Mustacchi.Fa mc_propinfo
33052d2369aSRobert Mustacchiwill want to implement all three endpoints to ensure that the property
33152d2369aSRobert Mustacchiis fully integrated into user land utilities such as
332bbf21555SRichard Lowe.Xr dladm 8 .
33352d2369aSRobert Mustacchi.Sh SEE ALSO
334bbf21555SRichard Lowe.Xr dlpi 4P ,
335bbf21555SRichard Lowe.Xr dladm 8 ,
33652d2369aSRobert Mustacchi.Xr mac 9E ,
337*2c0ebdeeSRobert Mustacchi.Xr mac_capab_rings 9E ,
33852d2369aSRobert Mustacchi.Xr mc_close 9E ,
33952d2369aSRobert Mustacchi.Xr mc_getcapab 9E ,
34052d2369aSRobert Mustacchi.Xr mc_getprop 9E ,
34152d2369aSRobert Mustacchi.Xr mc_getstat 9E ,
34252d2369aSRobert Mustacchi.Xr mc_ioctl 9E ,
34352d2369aSRobert Mustacchi.Xr mc_multicst 9E ,
34452d2369aSRobert Mustacchi.Xr mc_open 9E ,
34552d2369aSRobert Mustacchi.Xr mc_propinfo 9E ,
34652d2369aSRobert Mustacchi.Xr mc_setpromisc 9E ,
34752d2369aSRobert Mustacchi.Xr mc_setprop 9E ,
34852d2369aSRobert Mustacchi.Xr mc_start 9E ,
34952d2369aSRobert Mustacchi.Xr mc_stop 9E ,
35052d2369aSRobert Mustacchi.Xr mc_tx 9E ,
35152d2369aSRobert Mustacchi.Xr mc_unicst 9E ,
352*2c0ebdeeSRobert Mustacchi.Xr mac_register 9F ,
35352d2369aSRobert Mustacchi.Xr mac_register 9S
354