Print this page
OS-406
OS-249


   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 */