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 2009 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.

  24  */
  25 
  26 #ifndef _SYS_DLS_H
  27 #define _SYS_DLS_H
  28 
  29 #include <sys/types.h>
  30 #include <sys/stream.h>
  31 #include <sys/mac_client.h>
  32 #include <sys/dls_mgmt.h>
  33 
  34 /*
  35  * Data-Link Services Module
  36  */
  37 
  38 #ifdef  __cplusplus
  39 extern "C" {
  40 #endif
  41 
  42 /*
  43  * Module name.


  93 
  94 extern int      dls_promisc(dld_str_t *, uint32_t);
  95 
  96 extern int      dls_multicst_add(dld_str_t *, const uint8_t *);
  97 extern int      dls_multicst_remove(dld_str_t *, const uint8_t *);
  98 
  99 extern mblk_t   *dls_header(dld_str_t *, const uint8_t *,
 100                     uint16_t, uint_t, mblk_t **);
 101 
 102 extern void     dls_rx_set(dld_str_t *, dls_rx_t, void *);
 103 extern dld_str_t *dls_rx_get(char *, flow_desc_t *, size_t *);
 104 
 105 extern void     str_notify(void *, mac_notify_type_t);
 106 
 107 extern int              dls_devnet_open(const char *,
 108                             dls_dl_handle_t *, dev_t *);
 109 extern void             dls_devnet_close(dls_dl_handle_t);
 110 extern boolean_t        dls_devnet_rebuild();
 111 
 112 extern int              dls_devnet_rename(datalink_id_t, datalink_id_t,
 113                             const char *);
 114 extern int              dls_devnet_create(mac_handle_t, datalink_id_t,
 115                             zoneid_t);
 116 extern int              dls_devnet_destroy(mac_handle_t, datalink_id_t *,
 117                             boolean_t);
 118 extern int              dls_devnet_recreate(mac_handle_t, datalink_id_t);
 119 extern int              dls_devnet_hold_tmp(datalink_id_t, dls_dl_handle_t *);
 120 extern void             dls_devnet_rele_tmp(dls_dl_handle_t);
 121 extern int              dls_devnet_hold_by_dev(dev_t, dls_dl_handle_t *);
 122 extern void             dls_devnet_rele(dls_dl_handle_t);
 123 extern void             dls_devnet_prop_task_wait(dls_dl_handle_t);
 124 
 125 extern const char       *dls_devnet_mac(dls_dl_handle_t);
 126 extern uint16_t         dls_devnet_vid(dls_dl_handle_t);
 127 extern datalink_id_t    dls_devnet_linkid(dls_dl_handle_t);
 128 extern int              dls_devnet_dev2linkid(dev_t, datalink_id_t *);
 129 extern int              dls_devnet_phydev(datalink_id_t, dev_t *);
 130 extern int              dls_devnet_setzid(dls_dl_handle_t, zoneid_t);
 131 extern zoneid_t         dls_devnet_getzid(dls_dl_handle_t);
 132 extern zoneid_t         dls_devnet_getownerzid(dls_dl_handle_t);
 133 extern boolean_t        dls_devnet_islinkvisible(datalink_id_t, zoneid_t);
 134 
 135 extern int              dls_mgmt_door_set(boolean_t);
 136 extern int              dls_mgmt_create(const char *, dev_t, datalink_class_t,
 137                             uint32_t, boolean_t, datalink_id_t *);
 138 extern int              dls_mgmt_destroy(datalink_id_t, boolean_t);
 139 extern int              dls_mgmt_update(const char *, uint32_t, boolean_t,
 140                             uint32_t *, datalink_id_t *);
 141 extern int              dls_mgmt_get_linkinfo(datalink_id_t, char *,
 142                             datalink_class_t *, uint32_t *, uint32_t *);
 143 extern int              dls_mgmt_get_linkid(const char *, datalink_id_t *);
 144 extern datalink_id_t    dls_mgmt_get_next(datalink_id_t, datalink_class_t,
 145                             datalink_media_t, uint32_t);
 146 extern int              dls_devnet_macname2linkid(const char *,
 147                             datalink_id_t *);
 148 
 149 #endif  /* _KERNEL */
 150 


   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 2009 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_DLS_H
  28 #define _SYS_DLS_H
  29 
  30 #include <sys/types.h>
  31 #include <sys/stream.h>
  32 #include <sys/mac_client.h>
  33 #include <sys/dls_mgmt.h>
  34 
  35 /*
  36  * Data-Link Services Module
  37  */
  38 
  39 #ifdef  __cplusplus
  40 extern "C" {
  41 #endif
  42 
  43 /*
  44  * Module name.


  94 
  95 extern int      dls_promisc(dld_str_t *, uint32_t);
  96 
  97 extern int      dls_multicst_add(dld_str_t *, const uint8_t *);
  98 extern int      dls_multicst_remove(dld_str_t *, const uint8_t *);
  99 
 100 extern mblk_t   *dls_header(dld_str_t *, const uint8_t *,
 101                     uint16_t, uint_t, mblk_t **);
 102 
 103 extern void     dls_rx_set(dld_str_t *, dls_rx_t, void *);
 104 extern dld_str_t *dls_rx_get(char *, flow_desc_t *, size_t *);
 105 
 106 extern void     str_notify(void *, mac_notify_type_t);
 107 
 108 extern int              dls_devnet_open(const char *,
 109                             dls_dl_handle_t *, dev_t *);
 110 extern void             dls_devnet_close(dls_dl_handle_t);
 111 extern boolean_t        dls_devnet_rebuild();
 112 
 113 extern int              dls_devnet_rename(datalink_id_t, datalink_id_t,
 114                             const char *, boolean_t);
 115 extern int              dls_devnet_create(mac_handle_t, datalink_id_t,
 116                             zoneid_t);
 117 extern int              dls_devnet_destroy(mac_handle_t, datalink_id_t *,
 118                             boolean_t);
 119 extern int              dls_devnet_recreate(mac_handle_t, datalink_id_t);
 120 extern int              dls_devnet_hold_tmp(datalink_id_t, dls_dl_handle_t *);
 121 extern void             dls_devnet_rele_tmp(dls_dl_handle_t);
 122 extern int              dls_devnet_hold_by_dev(dev_t, dls_dl_handle_t *);
 123 extern void             dls_devnet_rele(dls_dl_handle_t);
 124 extern void             dls_devnet_prop_task_wait(dls_dl_handle_t);
 125 
 126 extern const char       *dls_devnet_mac(dls_dl_handle_t);
 127 extern uint16_t         dls_devnet_vid(dls_dl_handle_t);
 128 extern datalink_id_t    dls_devnet_linkid(dls_dl_handle_t);
 129 extern int              dls_devnet_dev2linkid(dev_t, datalink_id_t *);
 130 extern int              dls_devnet_phydev(datalink_id_t, dev_t *);
 131 extern int              dls_devnet_setzid(dls_dl_handle_t, zoneid_t, boolean_t);
 132 extern zoneid_t         dls_devnet_getzid(dls_dl_handle_t);
 133 extern zoneid_t         dls_devnet_getownerzid(dls_dl_handle_t);
 134 extern boolean_t        dls_devnet_islinkvisible(datalink_id_t, zoneid_t);
 135 
 136 extern int              dls_mgmt_door_set(boolean_t);
 137 extern int              dls_mgmt_create(const char *, dev_t, datalink_class_t,
 138                             uint32_t, boolean_t, datalink_id_t *);
 139 extern int              dls_mgmt_destroy(datalink_id_t, boolean_t);
 140 extern int              dls_mgmt_update(const char *, uint32_t, boolean_t,
 141                             uint32_t *, datalink_id_t *);
 142 extern int              dls_mgmt_get_linkinfo(datalink_id_t, char *,
 143                             datalink_class_t *, uint32_t *, uint32_t *);
 144 extern int              dls_mgmt_get_linkid(const char *, datalink_id_t *);
 145 extern datalink_id_t    dls_mgmt_get_next(datalink_id_t, datalink_class_t,
 146                             datalink_media_t, uint32_t);
 147 extern int              dls_devnet_macname2linkid(const char *,
 148                             datalink_id_t *);
 149 
 150 #endif  /* _KERNEL */
 151