summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/bootprops.h
diff options
context:
space:
mode:
authorJack Meng <Jack.Meng@Sun.COM>2008-11-22 07:33:57 +0800
committerJack Meng <Jack.Meng@Sun.COM>2008-11-22 07:33:57 +0800
commit6cefaae1e90a413ba01560575bb3998e1a3df40e (patch)
treec749b753f1ee011412736e0a48381d6e5bb58a34 /usr/src/uts/common/sys/bootprops.h
parent7bc22e45a20f905cdd06bb98c98a5c8be7fd25c0 (diff)
downloadillumos-joyent-6cefaae1e90a413ba01560575bb3998e1a3df40e.tar.gz
PSARC 2008/427 iSCSI Boot
PSARC 2008/640 iSCSI With DHCP 6701045 iSCSI boot on x86 6713364 iscsi needs to support PSARC 2008/337 scsi-self-identifying 6422549 delay nl7c_init() call until after the root is mounted 6751246 dhcp release the lease before sync is committed on iSCSI disk 6763891 device name of the same lun is different by different discovery mode, non MPxIO 6768382 Add dependency on netowrk/physical in local-fs service
Diffstat (limited to 'usr/src/uts/common/sys/bootprops.h')
-rw-r--r--usr/src/uts/common/sys/bootprops.h84
1 files changed, 81 insertions, 3 deletions
diff --git a/usr/src/uts/common/sys/bootprops.h b/usr/src/uts/common/sys/bootprops.h
index f337777172..ed6dd8bd7a 100644
--- a/usr/src/uts/common/sys/bootprops.h
+++ b/usr/src/uts/common/sys/bootprops.h
@@ -19,16 +19,16 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _BOOTPROPS_H
#define _BOOTPROPS_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/t_kuser.h>
#ifdef __cplusplus
extern "C" {
@@ -48,6 +48,84 @@ extern "C" {
#define BP_BOOTP_RESPONSE "bootp-response"
#define BP_NETWORK_INTERFACE "network-interface"
+/*
+ * kifconf prototypes
+ */
+int
+kdlifconfig(TIUSER *tiptr, int af, void *myIPaddr, void *mymask,
+ struct in_addr *mybraddr, struct in_addr *gateway, char *ifname);
+int
+ksetifflags(TIUSER *tiptr, uint_t value, char *ifname);
+int
+kifioctl(TIUSER *tiptr, int cmd, struct netbuf *nbuf, char *ifname);
+
+/*
+ * Boot properties related to iscsi boot:
+ */
+#define IB_BOOT_MACLEN 6
+#define IB_IP_BUFLEN 16
+
+/*
+ * iSCSI boot initiator's properties
+ */
+typedef struct _ib_ini_prop {
+ uchar_t *ini_name;
+ uchar_t *ini_chap_name;
+ uchar_t *ini_chap_sec;
+} ib_ini_prop_t;
+
+/*
+ * iSCSI boot nic's properties
+ */
+typedef struct _ib_nic_prop {
+ uchar_t nic_mac[6];
+ uchar_t nic_vlan[2];
+ union {
+ struct in_addr u_in4;
+ struct in6_addr u_in6;
+ } nic_ip_u;
+ union {
+ struct in_addr u_in4;
+ struct in6_addr u_in6;
+ } nic_gw_u;
+ union {
+ struct in_addr u_in4;
+ struct in6_addr u_in6;
+ } nic_dhcp_u;
+ int sin_family;
+ uchar_t sub_mask_prefix;
+
+} ib_nic_prop_t;
+
+/*
+ * iSCSI boot target's properties
+ */
+typedef struct _ib_tgt_prop {
+ union {
+ struct in_addr u_in4;
+ struct in6_addr u_in6;
+ }tgt_ip_u;
+ int sin_family;
+ uint32_t tgt_port;
+ uchar_t tgt_boot_lun[8];
+ uchar_t *tgt_name;
+ uchar_t *tgt_chap_name;
+ uchar_t *tgt_chap_sec;
+ int lun_online;
+} ib_tgt_prop_t;
+
+/*
+ * iSCSI boot properties
+ */
+typedef struct _ib_boot_prop {
+ ib_ini_prop_t boot_init;
+ ib_nic_prop_t boot_nic;
+ ib_tgt_prop_t boot_tgt;
+} ib_boot_prop_t;
+
+void
+ld_ib_prop();
+
#ifdef __cplusplus
}
#endif