diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/brcm_iscsi_uio/include/config.h open-iscsi-2.0-872-rc4-bnx2i.work/brcm_iscsi_uio/include/config.h --- open-iscsi-2.0-872-rc4-bnx2i/brcm_iscsi_uio/include/config.h 2011-01-31 19:30:00.000000000 -0600 +++ open-iscsi-2.0-872-rc4-bnx2i.work/brcm_iscsi_uio/include/config.h 2011-01-31 19:30:05.000000000 -0600 @@ -22,6 +22,7 @@ #include #include "list.h" +#include "iscsi_net_util.h" /* ISIDs now have a typed naming authority in them. We use an OUI */ #define DRIVER_ISID_0 0x00 @@ -77,7 +78,7 @@ typedef struct iface_rec { * TODO: we may have to make this bigger and interconnect * specific for infinniband */ - char hwaddress[ISCSI_MAX_IFACE_LEN]; + char hwaddress[ISCSI_HWADDRESS_BUF_SIZE]; char transport_name[ISCSI_TRANSPORT_NAME_MAXLEN]; /* * This is only used for boot now, but the iser guys diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/brcm_iscsi_uio/include/iscsi_net_util.h open-iscsi-2.0-872-rc4-bnx2i.work/brcm_iscsi_uio/include/iscsi_net_util.h --- open-iscsi-2.0-872-rc4-bnx2i/brcm_iscsi_uio/include/iscsi_net_util.h 1969-12-31 18:00:00.000000000 -0600 +++ open-iscsi-2.0-872-rc4-bnx2i.work/brcm_iscsi_uio/include/iscsi_net_util.h 2011-01-31 19:30:05.000000000 -0600 @@ -0,0 +1,14 @@ +#ifndef __ISCSI_NET_UTIL_h__ +#define __ISCSI_NET_UTIL_h__ + +#define ISCSI_HWADDRESS_BUF_SIZE 18 + +#if 0 + +extern int net_get_transport_name_from_netdev(char *netdev, char *transport); +extern int net_get_netdev_from_hwaddress(char *hwaddress, char *netdev); +extern int net_setup_netdev(char *netdev, char *local_ip, char *mask, + char *gateway, char *remote_ip, int needs_bringup); + +#endif +#endif diff -Naurp open-iscsi-2.0-872-rc4-bnx2i/brcm_iscsi_uio/src/unix/iscsid_ipc.c open-iscsi-2.0-872-rc4-bnx2i.work/brcm_iscsi_uio/src/unix/iscsid_ipc.c --- open-iscsi-2.0-872-rc4-bnx2i/brcm_iscsi_uio/src/unix/iscsid_ipc.c 2011-01-31 19:30:00.000000000 -0600 +++ open-iscsi-2.0-872-rc4-bnx2i.work/brcm_iscsi_uio/src/unix/iscsid_ipc.c 2011-01-31 19:30:05.000000000 -0600 @@ -508,7 +508,7 @@ int process_iscsid_broadcast(int s2) } /* This will be freed by parse_iface_thread() */ - data = (iscsid_uip_broadcast_t *) malloc(sizeof(*data)); + data = (iscsid_uip_broadcast_t *) calloc(1, sizeof(*data)); if(data == NULL) { LOG_ERR(PFX "Couldn't allocate memory for iface data"); return -ENOMEM;