|
mchristi |
3c98002 |
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/iscsiuio/include/config.h open-iscsi-2.0-872-rc4-bnx2i.build2/iscsiuio/include/config.h
|
|
mchristi |
3c98002 |
--- open-iscsi-2.0-872-rc4-bnx2i.base/iscsiuio/include/config.h 2011-08-14 22:58:02.000000000 -0500
|
|
mchristi |
8ae36a9 |
+++ open-iscsi-2.0-872-rc4-bnx2i.build2/iscsiuio/include/config.h 2011-08-15 00:05:23.000000000 -0500
|
|
mchristi |
a3c1930 |
@@ -22,6 +22,7 @@
|
|
mchristi |
a3c1930 |
|
|
mchristi |
a3c1930 |
#include <netdb.h>
|
|
akozumpl |
8fac198 |
#include "list.h"
|
|
akozumpl |
8fac198 |
+#include "iscsi_net_util.h"
|
|
akozumpl |
8fac198 |
|
|
akozumpl |
8fac198 |
/* ISIDs now have a typed naming authority in them. We use an OUI */
|
|
akozumpl |
8fac198 |
#define DRIVER_ISID_0 0x00
|
|
mchristi |
8ae36a9 |
@@ -31,18 +32,33 @@
|
|
mchristi |
3c98002 |
/* max len of interface */
|
|
mchristi |
3c98002 |
#define ISCSI_MAX_IFACE_LEN 65
|
|
mchristi |
3c98002 |
|
|
mchristi |
3c98002 |
-#if (ISCSID_VERSION == 872) /* 2.0-872 (RHEL 6.0) */
|
|
mchristi |
8ae36a9 |
-
|
|
mchristi |
3c98002 |
#define ISCSI_HWADDRESS_BUF_SIZE 18
|
|
mchristi |
3c98002 |
#define ISCSI_TRANSPORT_NAME_MAXLEN 16
|
|
mchristi |
3c98002 |
+#define ISCSI_MAX_STR_LEN 80
|
|
mchristi |
3c98002 |
|
|
mchristi |
3c98002 |
typedef struct iface_rec {
|
|
mchristi |
3c98002 |
struct list_head list;
|
|
mchristi |
3c98002 |
/* iscsi iface record name */
|
|
mchristi |
3c98002 |
char name[ISCSI_MAX_IFACE_LEN];
|
|
mchristi |
3c98002 |
+ uint32_t iface_num;
|
|
mchristi |
3c98002 |
/* network layer iface name (eth0) */
|
|
mchristi |
3c98002 |
char netdev[IFNAMSIZ];
|
|
mchristi |
3c98002 |
char ipaddress[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ char subnet_mask[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ char gateway[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ char bootproto[ISCSI_MAX_STR_LEN];
|
|
mchristi |
3c98002 |
+ char ipv6_linklocal[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ char ipv6_router[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ char ipv6_autocfg[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ char linklocal_autocfg[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ char router_autocfg[NI_MAXHOST];
|
|
mchristi |
3c98002 |
+ uint16_t vlan_id;
|
|
mchristi |
3c98002 |
+ uint8_t vlan_priority;
|
|
mchristi |
3c98002 |
+ char vlan_state[ISCSI_MAX_STR_LEN];
|
|
mchristi |
3c98002 |
+ char state[ISCSI_MAX_STR_LEN]; /* 0 = disable,
|
|
mchristi |
3c98002 |
+ * 1 = enable */
|
|
mchristi |
3c98002 |
+ uint16_t mtu;
|
|
mchristi |
3c98002 |
+ uint16_t port;
|
|
mchristi |
3c98002 |
/*
|
|
akozumpl |
8fac198 |
* TODO: we may have to make this bigger and interconnect
|
|
akozumpl |
8fac198 |
* specific for infinniband
|
|
mchristi |
8ae36a9 |
@@ -55,40 +71,6 @@ typedef struct iface_rec {
|
|
akozumpl |
8fac198 |
*/
|
|
mchristi |
3c98002 |
char alias[TARGET_NAME_MAXLEN + 1];
|
|
mchristi |
3c98002 |
char iname[TARGET_NAME_MAXLEN + 1];
|
|
mchristi |
3c98002 |
-
|
|
mchristi |
3c98002 |
- char vlan[ISCSI_MAX_IFACE_LEN];
|
|
mchristi |
8ae36a9 |
-} iface_rec_t;
|
|
mchristi |
8ae36a9 |
-
|
|
mchristi |
8ae36a9 |
-#else /* 2.0-871 (RHEL 5.5) */
|
|
mchristi |
8ae36a9 |
-/* number of possible connections per session */
|
|
mchristi |
8ae36a9 |
-#define ISCSI_CONN_MAX 1
|
|
mchristi |
8ae36a9 |
-
|
|
mchristi |
8ae36a9 |
-#define ISCSI_TRANSPORT_NAME_MAXLEN 16
|
|
mchristi |
8ae36a9 |
-
|
|
mchristi |
8ae36a9 |
-typedef struct iface_rec {
|
|
mchristi |
8ae36a9 |
- struct list_head list;
|
|
mchristi |
8ae36a9 |
- /* iscsi iface record name */
|
|
mchristi |
8ae36a9 |
- char name[ISCSI_MAX_IFACE_LEN];
|
|
mchristi |
8ae36a9 |
- /* network layer iface name (eth0) */
|
|
mchristi |
8ae36a9 |
- char netdev[IFNAMSIZ];
|
|
mchristi |
8ae36a9 |
- char ipaddress[NI_MAXHOST];
|
|
mchristi |
8ae36a9 |
-
|
|
mchristi |
8ae36a9 |
- /*
|
|
mchristi |
8ae36a9 |
- * TODO: we may have to make this bigger and interconnect
|
|
mchristi |
8ae36a9 |
- * specific for infinniband
|
|
mchristi |
8ae36a9 |
- */
|
|
mchristi |
8ae36a9 |
- char hwaddress[ISCSI_MAX_IFACE_LEN];
|
|
mchristi |
8ae36a9 |
- char transport_name[ISCSI_TRANSPORT_NAME_MAXLEN];
|
|
mchristi |
8ae36a9 |
- /*
|
|
mchristi |
8ae36a9 |
- * This is only used for boot now, but the iser guys
|
|
mchristi |
8ae36a9 |
- * can use this for their virtualization idea.
|
|
mchristi |
8ae36a9 |
- */
|
|
mchristi |
8ae36a9 |
- char alias[TARGET_NAME_MAXLEN + 1];
|
|
mchristi |
8ae36a9 |
- char iname[TARGET_NAME_MAXLEN + 1];
|
|
mchristi |
8ae36a9 |
-
|
|
mchristi |
8ae36a9 |
- char vlan[ISCSI_MAX_IFACE_LEN];
|
|
mchristi |
3c98002 |
} iface_rec_t;
|
|
mchristi |
3c98002 |
|
|
mchristi |
8ae36a9 |
-#endif /* ISCSID_VERSION */
|
|
mchristi |
8ae36a9 |
-
|
|
mchristi |
8ae36a9 |
#endif /* CONFIG_H */
|
|
mchristi |
3c98002 |
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/iscsiuio/include/iscsi_net_util.h open-iscsi-2.0-872-rc4-bnx2i.build2/iscsiuio/include/iscsi_net_util.h
|
|
mchristi |
3c98002 |
--- open-iscsi-2.0-872-rc4-bnx2i.base/iscsiuio/include/iscsi_net_util.h 1969-12-31 18:00:00.000000000 -0600
|
|
mchristi |
3c98002 |
+++ open-iscsi-2.0-872-rc4-bnx2i.build2/iscsiuio/include/iscsi_net_util.h 2011-08-14 23:20:09.000000000 -0500
|
|
mchristi |
3c98002 |
@@ -0,0 +1,11 @@
|
|
akozumpl |
8fac198 |
+#ifndef __ISCSI_NET_UTIL_h__
|
|
akozumpl |
8fac198 |
+#define __ISCSI_NET_UTIL_h__
|
|
akozumpl |
8fac198 |
+
|
|
akozumpl |
8fac198 |
+#define ISCSI_HWADDRESS_BUF_SIZE 18
|
|
akozumpl |
8fac198 |
+
|
|
akozumpl |
8fac198 |
+extern int net_get_transport_name_from_netdev(char *netdev, char *transport);
|
|
akozumpl |
8fac198 |
+extern int net_get_netdev_from_hwaddress(char *hwaddress, char *netdev);
|
|
akozumpl |
8fac198 |
+extern int net_setup_netdev(char *netdev, char *local_ip, char *mask,
|
|
akozumpl |
8fac198 |
+ char *gateway, char *remote_ip, int needs_bringup);
|
|
akozumpl |
8fac198 |
+
|
|
akozumpl |
8fac198 |
+#endif
|
|
mchristi |
3c98002 |
diff -Naurp open-iscsi-2.0-872-rc4-bnx2i.base/iscsiuio/src/unix/iscsid_ipc.c open-iscsi-2.0-872-rc4-bnx2i.build2/iscsiuio/src/unix/iscsid_ipc.c
|
|
mchristi |
3c98002 |
--- open-iscsi-2.0-872-rc4-bnx2i.base/iscsiuio/src/unix/iscsid_ipc.c 2011-08-14 22:58:02.000000000 -0500
|
|
mchristi |
3c98002 |
+++ open-iscsi-2.0-872-rc4-bnx2i.build2/iscsiuio/src/unix/iscsid_ipc.c 2011-08-14 23:37:00.000000000 -0500
|
|
mchristi |
3c98002 |
@@ -221,18 +221,11 @@ static int parse_iface(void *arg)
|
|
mchristi |
3c98002 |
data = (iscsid_uip_broadcast_t *) arg;
|
|
mchristi |
3c98002 |
|
|
mchristi |
3c98002 |
LOG_INFO(PFX "Received request for '%s' to set IP address: '%s' "
|
|
mchristi |
3c98002 |
- "VLAN: '%s'",
|
|
mchristi |
3c98002 |
+ "VLAN: '%d'",
|
|
mchristi |
3c98002 |
data->u.iface_rec.rec.netdev,
|
|
mchristi |
3c98002 |
- data->u.iface_rec.rec.ipaddress, data->u.iface_rec.rec.vlan);
|
|
mchristi |
3c98002 |
+ data->u.iface_rec.rec.ipaddress, data->u.iface_rec.rec.vlan_id);
|
|
mchristi |
3c98002 |
|
|
mchristi |
3c98002 |
- vlan = atoi(data->u.iface_rec.rec.vlan);
|
|
mchristi |
3c98002 |
- if ((valid_vlan(vlan) == 0) &&
|
|
mchristi |
3c98002 |
- (strcmp(data->u.iface_rec.rec.vlan, "") != 0)) {
|
|
mchristi |
3c98002 |
- LOG_ERR(PFX "Invalid VLAN tag: '%s'",
|
|
mchristi |
3c98002 |
- data->u.iface_rec.rec.vlan)
|
|
mchristi |
3c98002 |
- rc = -EIO;
|
|
mchristi |
3c98002 |
- goto early_exit;
|
|
mchristi |
3c98002 |
- }
|
|
mchristi |
3c98002 |
+ vlan = data->u.iface_rec.rec.vlan_id;
|
|
mchristi |
3c98002 |
|
|
mchristi |
3c98002 |
/* Detect for CIDR notation and strip off the netmask if present */
|
|
mchristi |
3c98002 |
rc = decode_cidr(data->u.iface_rec.rec.ipaddress, &ipam, &prefix_len);
|
|
mchristi |
3c98002 |
@@ -590,7 +583,7 @@ int process_iscsid_broadcast(int s2)
|
|
akozumpl |
8fac198 |
}
|
|
akozumpl |
8fac198 |
|
|
akozumpl |
8fac198 |
/* This will be freed by parse_iface_thread() */
|
|
akozumpl |
8fac198 |
- data = (iscsid_uip_broadcast_t *) malloc(sizeof(*data));
|
|
akozumpl |
8fac198 |
+ data = (iscsid_uip_broadcast_t *) calloc(1, sizeof(*data));
|
|
mchristi |
3c98002 |
if (data == NULL) {
|
|
akozumpl |
8fac198 |
LOG_ERR(PFX "Couldn't allocate memory for iface data");
|
|
akozumpl |
8fac198 |
return -ENOMEM;
|