4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 #ifndef _SYS_DLD_H
27 #define _SYS_DLD_H
28
29 /*
30 * Data-Link Driver ioctl interfaces.
31 *
32 * Note that the datastructures defined here define an ioctl interface
33 * that is shared betwen user and kernel space. The dld driver thus
34 * assumes that the structures have identical layout and size when
35 * compiled in either IPL32 or LP64.
36 */
37
38 #include <sys/types.h>
39 #include <sys/stream.h>
40 #include <sys/mac_flow.h>
41 #include <sys/conf.h>
42 #include <sys/sad.h>
43 #include <sys/mac.h>
174 } dld_ioc_delete_vlan_t;
175
176 /*
177 * The following constants have been removed, and the slots are open:
178 *
179 * #define DLDIOC_SETAUTOPUSH DLDIOC(0x0d)
180 * #define DLDIOC_GETAUTOPUSH DLDIOC(0x0e)
181 * #define DLDIOC_CLRAUTOPUSH DLDIOC(0x0f)
182 */
183
184 #define DLDIOC_DOORSERVER DLDIOC(0x10)
185 typedef struct dld_ioc_door {
186 boolean_t did_start_door;
187 } dld_ioc_door_t;
188
189 #define DLDIOC_RENAME DLDIOC(0x11)
190 typedef struct dld_ioc_rename {
191 datalink_id_t dir_linkid1;
192 datalink_id_t dir_linkid2;
193 char dir_link[MAXLINKNAMELEN];
194 } dld_ioc_rename_t;
195
196 /*
197 * The following constants have been removed, and the slots are open:
198 *
199 * #define DLDIOC_SETZID DLDIOC(0x12)
200 * #define DLDIOC_GETZID DLDIOC(0x13)
201 */
202
203 typedef struct dld_ioc_zid {
204 zoneid_t diz_zid;
205 datalink_id_t diz_linkid;
206 } dld_ioc_zid_t;
207
208 /*
209 * data-link autopush configuration.
210 */
211 struct dlautopush {
212 uint_t dap_anchor;
213 uint_t dap_npush;
214 char dap_aplist[MAXAPUSH][FMNAMESZ+1];
215 };
216
217 #define DLDIOC_MACADDRGET DLDIOC(0x15)
218 typedef struct dld_ioc_macaddrget {
219 datalink_id_t dig_linkid;
220 uint_t dig_count;
221 uint_t dig_size;
222 } dld_ioc_macaddrget_t;
223
224 /* possible flags for dmi_flags below */
225 #define DLDIOCMACADDR_USED 0x1 /* address slot used */
|
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 * Copyright 2011 Joyent, Inc. All rights reserved.
25 */
26
27 #ifndef _SYS_DLD_H
28 #define _SYS_DLD_H
29
30 /*
31 * Data-Link Driver ioctl interfaces.
32 *
33 * Note that the datastructures defined here define an ioctl interface
34 * that is shared betwen user and kernel space. The dld driver thus
35 * assumes that the structures have identical layout and size when
36 * compiled in either IPL32 or LP64.
37 */
38
39 #include <sys/types.h>
40 #include <sys/stream.h>
41 #include <sys/mac_flow.h>
42 #include <sys/conf.h>
43 #include <sys/sad.h>
44 #include <sys/mac.h>
175 } dld_ioc_delete_vlan_t;
176
177 /*
178 * The following constants have been removed, and the slots are open:
179 *
180 * #define DLDIOC_SETAUTOPUSH DLDIOC(0x0d)
181 * #define DLDIOC_GETAUTOPUSH DLDIOC(0x0e)
182 * #define DLDIOC_CLRAUTOPUSH DLDIOC(0x0f)
183 */
184
185 #define DLDIOC_DOORSERVER DLDIOC(0x10)
186 typedef struct dld_ioc_door {
187 boolean_t did_start_door;
188 } dld_ioc_door_t;
189
190 #define DLDIOC_RENAME DLDIOC(0x11)
191 typedef struct dld_ioc_rename {
192 datalink_id_t dir_linkid1;
193 datalink_id_t dir_linkid2;
194 char dir_link[MAXLINKNAMELEN];
195 boolean_t dir_zoneinit;
196 } dld_ioc_rename_t;
197
198 /*
199 * The following constants have been removed, and the slots are open:
200 *
201 * #define DLDIOC_SETZID DLDIOC(0x12)
202 * #define DLDIOC_GETZID DLDIOC(0x13)
203 */
204
205 typedef struct dld_ioc_zid {
206 zoneid_t diz_zid;
207 datalink_id_t diz_linkid;
208 boolean_t diz_transient;
209 } dld_ioc_zid_t;
210
211 /*
212 * data-link autopush configuration.
213 */
214 struct dlautopush {
215 uint_t dap_anchor;
216 uint_t dap_npush;
217 char dap_aplist[MAXAPUSH][FMNAMESZ+1];
218 };
219
220 #define DLDIOC_MACADDRGET DLDIOC(0x15)
221 typedef struct dld_ioc_macaddrget {
222 datalink_id_t dig_linkid;
223 uint_t dig_count;
224 uint_t dig_size;
225 } dld_ioc_macaddrget_t;
226
227 /* possible flags for dmi_flags below */
228 #define DLDIOCMACADDR_USED 0x1 /* address slot used */
|