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.
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.
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]
22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
29 #include <sys/types.h>
30 #include <netinet/in.h>
31 #include <sys/t_kuser.h>
38 * Boot properties related to netboot:
40 #define BP_HOST_IP "host-ip"
41 #define BP_SUBNET_MASK "subnet-mask"
42 #define BP_ROUTER_IP "router-ip"
43 #define BP_BOOT_MAC "boot-mac"
44 #define BP_SERVER_IP "server-ip"
45 #define BP_SERVER_NAME "server-name"
46 #define BP_SERVER_PATH "server-path"
47 #define BP_SERVER_ROOTOPTS "server-rootopts"
48 #define BP_BOOTP_RESPONSE "bootp-response"
51 * Boot properties related to iscsiboot:
53 #define BP_NETWORK_INTERFACE "network-interface"
54 #define BP_ISCSI_TARGET_NAME "iscsi-target-name"
55 #define BP_ISCSI_TARGET_IP "iscsi-target-ip"
56 #define BP_ISCSI_INITIATOR_ID "iscsi-initiator-id"
57 #define BP_ISCSI_PORT "iscsi-port"
58 #define BP_ISCSI_TPGT "iscsi-tpgt"
59 #define BP_ISCSI_LUN "iscsi-lun"
60 #define BP_ISCSI_PAR "iscsi-partition"
61 #define BP_ISCSI_NETWORK_BOOTPATH "iscsi-network-bootpath"
62 #define BP_ISCSI_DISK "/iscsi-hba/disk"
63 #define BP_BOOTPATH "bootpath"
64 #define BP_CHAP_USER "chap-user"
65 #define BP_CHAP_PASSWORD "chap-password"
66 #define BP_LOCAL_MAC_ADDRESS "local-mac-address"
72 kdlifconfig(TIUSER
*tiptr
, int af
, void *myIPaddr
, void *mymask
,
73 struct in_addr
*mybraddr
, struct in_addr
*gateway
, char *ifname
);
75 ksetifflags(TIUSER
*tiptr
, uint_t value
, char *ifname
);
77 kifioctl(TIUSER
*tiptr
, int cmd
, struct netbuf
*nbuf
, char *ifname
);
80 * Boot properties related to iscsi boot:
82 #define IB_BOOT_MACLEN 6
83 #define IB_IP_BUFLEN 16
86 * iSCSI boot initiator's properties
88 typedef struct _ib_ini_prop
{
91 uchar_t
*ini_chap_name
;
92 size_t ini_chap_name_len
;
93 uchar_t
*ini_chap_sec
;
94 size_t ini_chap_sec_len
;
98 * iSCSI boot nic's properties
100 typedef struct _ib_nic_prop
{
104 struct in_addr u_in4
;
105 struct in6_addr u_in6
;
108 struct in_addr u_in4
;
109 struct in6_addr u_in6
;
112 struct in_addr u_in4
;
113 struct in6_addr u_in6
;
116 uchar_t sub_mask_prefix
;
121 * iSCSI boot target's properties
123 typedef struct _ib_tgt_prop
{
125 struct in_addr u_in4
;
126 struct in6_addr u_in6
;
130 uchar_t tgt_boot_lun
[8];
133 uchar_t
*tgt_chap_name
;
134 size_t tgt_chap_name_len
;
135 uchar_t
*tgt_chap_sec
;
136 size_t tgt_chap_sec_len
;
138 uchar_t
*tgt_boot_par
;
139 size_t tgt_boot_par_len
;
144 * iSCSI boot properties
146 typedef struct _ib_boot_prop
{
147 ib_ini_prop_t boot_init
;
148 ib_nic_prop_t boot_nic
;
149 ib_tgt_prop_t boot_tgt
;
156 iscsi_boot_prop_free();
159 get_iscsi_bootpath_vhci(char *bootpath
);
162 get_iscsi_bootpath_phy(char *bootpath
);
168 #endif /* _BOOTPROPS_H */