Blob Blame Raw
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/configure open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/configure
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/configure	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/configure	2011-09-01 20:33:58.000000000 -0500
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for iscsiuio 0.7.0.12.
+# Generated by GNU Autoconf 2.59 for iscsiuio 0.7.0.14.
 #
 # Report bugs to <eddie.wai@broadcom.com>.
 #
@@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='iscsiuio'
 PACKAGE_TARNAME='iscsiuio'
-PACKAGE_VERSION='0.7.0.12'
-PACKAGE_STRING='iscsiuio 0.7.0.12'
+PACKAGE_VERSION='0.7.0.14'
+PACKAGE_STRING='iscsiuio 0.7.0.14'
 PACKAGE_BUGREPORT='eddie.wai@broadcom.com'
 
 # Factoring default headers for most tests.
@@ -954,7 +954,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures iscsiuio 0.7.0.12 to adapt to many kinds of systems.
+\`configure' configures iscsiuio 0.7.0.14 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of iscsiuio 0.7.0.12:";;
+     short | recursive ) echo "Configuration of iscsiuio 0.7.0.14:";;
    esac
   cat <<\_ACEOF
 
@@ -1161,7 +1161,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-iscsiuio configure 0.7.0.12
+iscsiuio configure 0.7.0.14
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1175,7 +1175,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by iscsiuio $as_me 0.7.0.12, which was
+It was created by iscsiuio $as_me 0.7.0.14, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -21726,7 +21726,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by iscsiuio $as_me 0.7.0.12, which was
+This file was extended by iscsiuio $as_me 0.7.0.14, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21789,7 +21789,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-iscsiuio config.status 0.7.0.12
+iscsiuio config.status 0.7.0.14
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/configure.ac open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/configure.ac
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/configure.ac	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/configure.ac	2011-09-01 20:33:58.000000000 -0500
@@ -11,9 +11,9 @@ dnl Maintained by: Eddie Wai (eddie.wai@
 dnl
 
 PACKAGE=iscsiuio
-VERSION=0.7.0.12
+VERSION=0.7.0.14
 
-AC_INIT(iscsiuio, 0.7.0.12, eddie.wai@broadcom.com)
+AC_INIT(iscsiuio, 0.7.0.14, eddie.wai@broadcom.com)
 
 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
 AC_CONFIG_HEADER(config.h)
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/docs/iscsiuio.8 open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/docs/iscsiuio.8
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/docs/iscsiuio.8	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/docs/iscsiuio.8	2011-09-01 20:33:58.000000000 -0500
@@ -3,9 +3,9 @@
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation.
 .\"
-.\" bnx2.4,v 0.7.0.12
+.\" bnx2.4,v 0.7.0.14
 .\"
-.TH iscsiuio 8 "08/04/2011" "Broadcom Corporation"
+.TH iscsiuio 8 "08/23/2011" "Broadcom Corporation"
 .\"
 .\" NAME part
 .\"
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/include/uip_mgmt_ipc.h open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/include/uip_mgmt_ipc.h
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/include/uip_mgmt_ipc.h	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/include/uip_mgmt_ipc.h	2011-09-01 20:33:47.000000000 -0500
@@ -50,11 +50,11 @@ typedef struct iscsid_uip_broadcast {
 
 typedef enum iscsid_uip_mgmt_ipc_err {
 	ISCSID_UIP_MGMT_IPC_OK                     = 0,
-	ISCISD_UIP_MGMT_IPC_ERR                    = 1,
-	ISCISD_UIP_MGMT_IPC_ERR_NOT_FOUND          = 2,
-	ISCISD_UIP_MGMT_IPC_ERR_NOMEM              = 3,
-	ISCISD_UIP_MGMT_IPC_DEVICE_UP              = 4,
-	ISCISD_UIP_MGMT_IPC_DEVICE_INITIALIZING    = 5,
+	ISCSID_UIP_MGMT_IPC_ERR                    = 1,
+	ISCSID_UIP_MGMT_IPC_ERR_NOT_FOUND          = 2,
+	ISCSID_UIP_MGMT_IPC_ERR_NOMEM              = 3,
+	ISCSID_UIP_MGMT_IPC_DEVICE_UP              = 4,
+	ISCSID_UIP_MGMT_IPC_DEVICE_INITIALIZING    = 5,
 } iscsid_uip_mgmt_ipc_err_e;
 
 /* IPC Response */
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/README open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/README
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/README	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/README	2011-09-01 20:33:58.000000000 -0500
@@ -1,6 +1,6 @@
-Broadcom iSCSI Userspace Tools
-Version 0.7.0.12
-Aug 04, 2011
+iscsiuio Userspace Tools
+Version 0.7.0.14
+Aug 23, 2011
 ------------------------------------------------------
 
 This tools is to be used in conjunction with the Broadcom NetXtreme II Linux
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/RELEASE.TXT open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/RELEASE.TXT
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/RELEASE.TXT	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/RELEASE.TXT	2011-09-01 20:33:58.000000000 -0500
@@ -1,7 +1,7 @@
                               Release Notes
                         Broadcom uIP Linux Driver
-                            Version 0.7.0.12
-                               08/04/2011
+                            Version 0.7.0.14
+                               08/23/2011
 
                           Broadcom Corporation
                          5300 California Avenue,
@@ -10,6 +10,36 @@
                Copyright (c) 2004 - 2011 Broadcom Corporation
                            All rights reserved
 
+uIP v0.7.0.14 (Aug 23, 2011)
+=======================================================
+   Fixes
+   -----
+   1. Problem: Cont00057840 - RHEL6.2 inbox: Unable to connect to
+               targets with 5709
+      Cause:   For cases when the bnx2/bnx2x driver gets removed, the
+               uio database that was built by cnic would have the device
+               ->net reference removed.  This has caused an unnecessary
+               timeout of 5s for each stale uio entry in the database.
+      Change:  Adjusted the routine which seeks the device->net entry
+               to include more logic instead of hard waiting for 5s.
+
+   Enhancements
+   ------------
+   1. Change:  Added support for RHEL6.2 for out-of-box release
+   2. Change:  Updated the man page with -h and -p info
+   3. Change:  Updated the -h info
+
+
+uIP v0.7.0.13 (Aug 10, 2011)
+=======================================================
+   Fixes
+   -----
+   1. Problem: Cont00057768 - iscsiuio logrotate causes daemon failure
+      Cause:   The logrotate script will send a SIGUSR1 signal to notify
+               the iscsiuio daemon of such action.  However, the daemon
+               wasn't programmed to catch this signal.
+      Change:  Restored the catching of this signal
+
 
 uIP v0.7.0.12 (Aug 04, 2011)
 =======================================================
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/iscsid_ipc.c open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/iscsid_ipc.c
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/iscsid_ipc.c	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/iscsid_ipc.c	2011-09-01 20:33:53.000000000 -0500
@@ -217,18 +217,23 @@ static int parse_iface(void *arg)
 	struct in_addr netmask;
 	int i, prefix_len = 64;
 	struct ip_addr_mask ipam;
+	struct iface_rec *rec;
 
 	data = (iscsid_uip_broadcast_t *) arg;
 
+	rec = &data->u.iface_rec.rec;
 	LOG_INFO(PFX "Received request for '%s' to set IP address: '%s' "
-		 "VLAN: '%d'",
-		 data->u.iface_rec.rec.netdev,
-		 data->u.iface_rec.rec.ipaddress, data->u.iface_rec.rec.vlan_id);
+		 "VLAN: '%d'", rec->netdev, rec->ipaddress, rec->vlan_id);
 
-	vlan = data->u.iface_rec.rec.vlan_id;
+	vlan = rec->vlan_id;
+	if (vlan && valid_vlan(vlan) == 0) {
+		LOG_ERR(PFX "Invalid VLAN tag: %d", rec->vlan_id);
+		rc = -EIO;
+		goto early_exit;
+	}
 
 	/*  Detect for CIDR notation and strip off the netmask if present */
-	rc = decode_cidr(data->u.iface_rec.rec.ipaddress, &ipam, &prefix_len);
+	rc = decode_cidr(rec->ipaddress, &ipam, &prefix_len);
 	if (rc && !ipam.ip_type) {
 		LOG_ERR(PFX "decode_cidr: rc=%d, ipam.ip_type=%d",
 			rc, ipam.ip_type)
@@ -251,30 +256,29 @@ static int parse_iface(void *arg)
 
 	if (i >= 10) {
 		LOG_WARN(PFX "Could not aquire nic_list_mutex lock");
-
 		rc = -EIO;
 		goto early_exit;
 	}
 
 	/*  Check if we can find the NIC device using the netdev
 	 *  name */
-	rc = from_netdev_name_find_nic(data->u.iface_rec.rec.netdev, &nic);
+	rc = from_netdev_name_find_nic(rec->netdev, &nic);
 
 	if (rc != 0) {
 		LOG_WARN(PFX "Couldn't find NIC: %s, creating an instance",
-			 data->u.iface_rec.rec.netdev);
+			 rec->netdev);
 
 		nic = nic_init();
 		if (nic == NULL) {
 			LOG_ERR(PFX "Couldn't allocate space for NIC %s",
-				data->u.iface_rec.rec.netdev);
+				rec->netdev);
 
 			rc = -ENOMEM;
 			goto done;
 		}
 
 		strncpy(nic->eth_device_name,
-			data->u.iface_rec.rec.netdev,
+			rec->netdev,
 			sizeof(nic->eth_device_name));
 		nic->config_device_name = nic->eth_device_name;
 		nic->log_name = nic->eth_device_name;
@@ -288,7 +292,7 @@ static int parse_iface(void *arg)
 		nic_add(nic);
 	} else {
 		LOG_INFO(PFX " %s, using existing NIC",
-			 data->u.iface_rec.rec.netdev);
+			 rec->netdev);
 	}
 
 	if (nic->flags & NIC_GOING_DOWN) {
@@ -335,12 +339,12 @@ static int parse_iface(void *arg)
 							  &transport_name_size);
 
 		if (strncmp(transport_name,
-			    data->u.iface_rec.rec.transport_name,
+			    rec->transport_name,
 			    transport_name_size) != 0) {
 			LOG_ERR(PFX "%s Transport name is not equal "
 				"expected: %s got: %s",
 				nic->log_name,
-				data->u.iface_rec.rec.transport_name,
+				rec->transport_name,
 				transport_name);
 		}
 	} else {
@@ -548,11 +552,10 @@ enable_nic:
 
 	LOG_INFO(PFX "ISCSID_UIP_IPC_GET_IFACE: command: %x "
 		 "name: %s, netdev: %s ipaddr: %s vlan: %d transport_name:%s",
-		 data->header.command, data->u.iface_rec.rec.name,
-		 data->u.iface_rec.rec.netdev,
-		 (ipam.ip_type ==
-		  AF_INET) ? inet_ntoa(ipam.addr4) : ipv6_buf_str, vlan,
-		 data->u.iface_rec.rec.transport_name);
+		 data->header.command, rec->name, rec->netdev,
+		 (ipam.ip_type == AF_INET) ? inet_ntoa(ipam.addr4) :
+					     ipv6_buf_str,
+		 vlan, rec->transport_name);
 
 done:
 	pthread_mutex_unlock(&nic_list_mutex);
@@ -617,15 +620,15 @@ int process_iscsid_broadcast(int s2)
 		switch (rc) {
 		case 0:
 			rsp.command = cmd;
-			rsp.err = ISCISD_UIP_MGMT_IPC_DEVICE_UP;
+			rsp.err = ISCSID_UIP_MGMT_IPC_DEVICE_UP;
 			break;
 		case -EAGAIN:
 			rsp.command = cmd;
-			rsp.err = ISCISD_UIP_MGMT_IPC_DEVICE_INITIALIZING;
+			rsp.err = ISCSID_UIP_MGMT_IPC_DEVICE_INITIALIZING;
 			break;
 		default:
 			rsp.command = cmd;
-			rsp.err = ISCISD_UIP_MGMT_IPC_ERR;
+			rsp.err = ISCSID_UIP_MGMT_IPC_ERR;
 		}
 
 		break;
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/main.c open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/main.c
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/main.c	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/main.c	2011-09-01 20:33:42.000000000 -0500
@@ -172,10 +172,10 @@ static void main_usage()
 
 	printf("\nUsage: %s [OPTION]\n", APP_NAME);
 	printf("\
-Broadcom uIP daemon.\n\
+iscsiuio daemon.\n\
   -f, --foreground        make the program run in the foreground\n\
   -d, --debug debuglevel  print debugging information\n\
-  -p, --pid=pidfile       use pid file (default  %s ).\n\
+  -p, --pid=pidfile       use pid file (default  %s).\n\
   -h, --help              display this help and exit\n\
   -v, --version           display version and exit\n\
 ", default_pid_filepath);
@@ -336,6 +336,7 @@ int main(int argc, char *argv[])
 	sigaddset(&set, SIGINT);
 	sigaddset(&set, SIGQUIT);
 	sigaddset(&set, SIGTERM);
+	sigaddset(&set, SIGUSR1);
 	rc = pthread_sigmask(SIG_SETMASK, &set, NULL);
 
 	/*  Spin off the signal handling thread */
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/nic_utils.c open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/nic_utils.c
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/nic_utils.c	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/nic_utils.c	2011-09-01 20:33:37.000000000 -0500
@@ -473,6 +473,7 @@ static int from_uio_find_associated_eth_
 	char *search_paths[] = { "/sys/class/uio/uio%i/device/",
 		"/sys/class/uio/uio%i/device/net"
 	};
+	int path_to[] = { 5, 1 };
 	int (*search_filters[]) (const struct dirent *) = {
 	filter_net_name, filter_dot_out,};
 	char *(*extract_name[]) (struct dirent ** files) = {
@@ -492,7 +493,7 @@ static int from_uio_find_associated_eth_
 		/*  Build the path to determine uio name */
 		rc = sprintf(path, search_paths[path_iterator], uio_minor);
 
-		wait_for_file_node_timed(nic, path, 5);
+		wait_for_file_node_timed(nic, path, path_to[path_iterator]);
 
 		count = scandir(path, &files,
 				search_filters[path_iterator], alphasort);
diff -aurp open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/options.h open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/options.h
--- open-iscsi-2.0-872-rc4-bnx2i/iscsiuio/src/unix/options.h	2011-09-01 20:28:53.000000000 -0500
+++ open-iscsi-2.0-872-rc4-bnx2i.build/iscsiuio/src/unix/options.h	2011-09-01 20:33:42.000000000 -0500
@@ -78,7 +78,7 @@
 #define ETHERTYPE_VLAN                  0x8100	/* IEEE 802.1Q VLAN tagging */
 #endif /* ETHERTYPE_VLAN */
 
-#define APP_NAME "uIP"
+#define APP_NAME "iscsiuio"
 /* BUILD_DATE is automatically generated from the Makefile */
 
 #define DEBUG_OFF	0x1