diff --git a/brcm_iscsi_uio/src/unix/Makefile.am b/brcm_iscsi_uio/src/unix/Makefile.am index 56ee4f8..1b8ea9a 100644 --- a/brcm_iscsi_uio/src/unix/Makefile.am +++ b/brcm_iscsi_uio/src/unix/Makefile.am @@ -6,7 +6,7 @@ INCLUDES = -I${top_srcdir}/src/uip \ -I${top_srcdir}/include \ -I${top_srcdir}/src/unix/libs/ -bin_PROGRAMS = brcm_iscsiuio +sbin_PROGRAMS = brcm_iscsiuio brcm_iscsiuio_SOURCES = build_date.c \ main.c \ diff --git a/brcm_iscsi_uio/src/unix/build_date.c b/brcm_iscsi_uio/src/unix/build_date.c index 6018481..1f36275 100644 --- a/brcm_iscsi_uio/src/unix/build_date.c +++ b/brcm_iscsi_uio/src/unix/build_date.c @@ -1 +1 @@ -char *build_date ="Thu Dec 10 05:30:25 PST 2009"; +char *build_date ="Fri Jan 22 16:07:39 CET 2010"; diff --git a/brcm_iscsi_uio/src/unix/libs/bnx2.c b/brcm_iscsi_uio/src/unix/libs/bnx2.c index df99152..4ccc067 100644 --- a/brcm_iscsi_uio/src/unix/libs/bnx2.c +++ b/brcm_iscsi_uio/src/unix/libs/bnx2.c @@ -459,7 +459,7 @@ static int bnx2_open(nic_t *nic) nic->log_name, bp->rx_ring_size, bp->rx_buffer_size); /* Determine the number of UIO events that have already occured */ - rc = detemine_initial_uio_events(nic, &nic->intr_count); + rc = determine_initial_uio_events(nic, &nic->intr_count); if(rc != 0) { LOG_ERR("Could not determine the number ofinitial UIO events"); nic->intr_count = 0; @@ -688,8 +688,7 @@ static int bnx2_uio_close_resources(nic_t *nic, NIC_SHUTDOWN_T graceful) /* Check if there is an assoicated CNIC device */ if(bp == NULL) { LOG_WARN(PFX "%s: when closing resources there is " - "no assoicated bnx2", - nic->log_name); + "no associated bnx2", nic->log_name); return -EIO; } @@ -722,7 +721,7 @@ static int bnx2_uio_close_resources(nic_t *nic, NIC_SHUTDOWN_T graceful) bp->tx_ring = NULL; } - if (bp->status_blk.msix != NULL || + if (bp->status_blk.msix != NULL || bp->status_blk.msi != NULL) { rc = munmap(bp->sblk_map, bp->status_blk_size); if (rc != 0) @@ -879,7 +878,7 @@ void bnx2_start_xmit(nic_t *nic, size_t len) * @return 0 if successful, <0 if failed */ int bnx2_write(nic_t *nic, nic_interface_t *nic_iface, - packet_t *pkt) + struct packet *pkt) { bnx2_t *bp = (bnx2_t *) nic->priv; struct uip_stack *uip = &nic_iface->ustack; @@ -1098,10 +1097,10 @@ struct nic_ops bnx2_op = { .lib_ops = { .get_library_name = bnx2_get_library_name, - .get_pci_table = bnx2_get_pci_table, - .get_library_version = bnx2_get_library_version, + .get_pci_table = bnx2_get_pci_table, + .get_library_version = bnx2_get_library_version, .get_build_date = bnx2_get_build_date, - .get_transport_name = bnx2_get_transport_name, - .get_uio_name = bnx2_get_uio_name, + .get_transport_name = bnx2_get_transport_name, + .get_uio_name = bnx2_get_uio_name, }, }; diff --git a/brcm_iscsi_uio/src/unix/libs/bnx2x.c b/brcm_iscsi_uio/src/unix/libs/bnx2x.c index f4eb876..70d4f34 100644 --- a/brcm_iscsi_uio/src/unix/libs/bnx2x.c +++ b/brcm_iscsi_uio/src/unix/libs/bnx2x.c @@ -27,6 +27,7 @@ #include "cnic.h" #include "logger.h" #include "nic.h" +#include "nic_id.h" #include "nic_utils.h" #include "options.h" @@ -500,7 +501,7 @@ static int bnx2x_open(nic_t *nic) nic->log_name, bp->rx_ring_size, bp->rx_buffer_size); /* Determine the number of UIO events that have already occured */ - rc = detemine_initial_uio_events(nic, &nic->intr_count); + rc = determine_initial_uio_events(nic, &nic->intr_count); if(rc != 0) { LOG_ERR("Could not determine the number ofinitial UIO events"); nic->intr_count = 0; @@ -892,7 +893,7 @@ void bnx2x_start_xmit(nic_t *nic, size_t len) * @return 0 if successful, <0 if failed */ int bnx2x_write(nic_t *nic, nic_interface_t *nic_iface, - packet_t *pkt) + struct packet *pkt) { bnx2x_t *bp = (bnx2x_t *) nic->priv; struct uip_stack *uip = &nic_iface->ustack; diff --git a/brcm_iscsi_uio/src/unix/libs/cnic.c b/brcm_iscsi_uio/src/unix/libs/cnic.c index 11b64a9..859eb19 100644 --- a/brcm_iscsi_uio/src/unix/libs/cnic.c +++ b/brcm_iscsi_uio/src/unix/libs/cnic.c @@ -28,6 +28,7 @@ #include "uip_arp.h" #include "nic.h" +#include "nic_nl.h" #include "logger.h" #include "options.h" #include "uevent.h" diff --git a/brcm_iscsi_uio/src/unix/logger.h b/brcm_iscsi_uio/src/unix/logger.h index 7035526..50d0925 100644 --- a/brcm_iscsi_uio/src/unix/logger.h +++ b/brcm_iscsi_uio/src/unix/logger.h @@ -72,7 +72,7 @@ extern struct logger main_log; int init_logger(char *); void log_uip(char *level_str, char *fmt, ...); -void fini_logger(); +void fini_logger(int); int backup_logger_settings(struct logger *src, struct logger *dest); int restore_backup(struct logger *src, struct logger *dest); diff --git a/brcm_iscsi_uio/src/unix/nic.c b/brcm_iscsi_uio/src/unix/nic.c index af1b5fd..068c63e 100644 --- a/brcm_iscsi_uio/src/unix/nic.c +++ b/brcm_iscsi_uio/src/unix/nic.c @@ -407,7 +407,7 @@ nic_t *nic_init() return nic; } -int nic_remove(nic_t *nic, int locked) +void nic_remove(nic_t *nic, int locked) { int rc; nic_t *prev, *current; @@ -425,7 +425,7 @@ int nic_remove(nic_t *nic, int locked) LOG_ERR(PFX "%s: Coudln't join to canceled nic thread", nic->log_name); - nic->thread == INVALID_THREAD; + nic->thread = INVALID_THREAD; if(!locked) pthread_mutex_lock(&nic_list_mutex); @@ -506,7 +506,7 @@ void nic_close(nic_t *nic, NIC_SHUTDOWN_T graceful) * structure cnic_uio * @return 0 on success, <0 on failure */ -nic_interface_t * nic_iface_init() +nic_interface_t * nic_iface_init(void) { nic_interface_t *nic_iface = malloc(sizeof(*nic_iface)); if(nic_iface == NULL) diff --git a/brcm_iscsi_uio/src/unix/nic.h b/brcm_iscsi_uio/src/unix/nic.h index d20e9d1..84a3252 100644 --- a/brcm_iscsi_uio/src/unix/nic.h +++ b/brcm_iscsi_uio/src/unix/nic.h @@ -258,14 +258,14 @@ typedef struct nic { *****************************************************************************/ int load_all_nic_libraries(); -nic_t *nic_init(); -int nic_remove(nic_t * nic, int locked); +nic_t *nic_init(void); +void nic_remove(nic_t * nic, int locked); int nic_add_nic_iface(nic_t *nic, nic_interface_t *nic_iface); int nic_process_intr(nic_t *nic, int discard_check); -nic_interface_t * nic_iface_init(); +nic_interface_t * nic_iface_init(void); typedef enum { NIC_LIBRARY_EXSITS = 1, @@ -297,7 +297,7 @@ void nic_close(nic_t *nic, NIC_SHUTDOWN_T graceful); /* Use this function to fill in minor number and uio, and eth names */ int nic_fill_name(nic_t *nic); -int detemine_initial_uio_events(); +int determine_initial_uio_events(nic_t *nic, uint32_t *num_of_events); int enable_multicast(nic_t *nic); int disable_multicast(nic_t *nic); diff --git a/brcm_iscsi_uio/src/unix/nic_utils.c b/brcm_iscsi_uio/src/unix/nic_utils.c index 04b88da..40a83d3 100644 --- a/brcm_iscsi_uio/src/unix/nic_utils.c +++ b/brcm_iscsi_uio/src/unix/nic_utils.c @@ -874,30 +874,29 @@ void nic_close_all() *****************************************************************************/ /** * determine_initial_uio_events() - This utility function will - * determine the number of uio events that have occured on the + * determine the number of uio events that have occured on the * given device. This value is read from the UIO sysfs entry * @param dev - device to read from * @param num_of_event - number of UIO events * @return 0 is success, <0 failure */ -int detemine_initial_uio_events(nic_t *nic, - uint32_t *num_of_events) +int determine_initial_uio_events(nic_t *nic, uint32_t *num_of_events) { - char *raw = NULL; + char *raw = NULL; uint32_t raw_size = 0; ssize_t elements_read; char temp_path[sizeof(cnic_sysfs_uio_event_template) + 8]; int rc; /* Capture RX buffer size */ - snprintf(temp_path, sizeof(temp_path), + snprintf(temp_path, sizeof(temp_path), cnic_sysfs_uio_event_template, nic->uio_minor); - rc = capture_file(&raw, &raw_size, temp_path); - if(rc != 0) - { - goto error; - } + rc = capture_file(&raw, &raw_size, temp_path); + if(rc != 0) + { + goto error; + } elements_read = sscanf(raw, "%d", num_of_events); if(elements_read != 1) @@ -963,7 +962,7 @@ int add_vlan_interfaces(nic_t *nic) if(found_entry->found == VLAN_ENTRY_FOUND) { - nic_iface = nic_iface_init(nic); + nic_iface = nic_iface_init(); if(nic_iface == NULL) { LOG_ERR("Couldn't allocate space for net_iface"); diff --git a/brcm_iscsi_uio/src/unix/nic_utils.h b/brcm_iscsi_uio/src/unix/nic_utils.h index a36457a..f0d415f 100644 --- a/brcm_iscsi_uio/src/unix/nic_utils.h +++ b/brcm_iscsi_uio/src/unix/nic_utils.h @@ -25,17 +25,20 @@ int from_netdev_name_find_nic(char *interface_name, nic_t **nic); int from_host_no_find_associated_eth_device(int host_no, - nic_t **nic); + nic_t **nic); int from_phys_name_find_assoicated_uio_device(nic_t *nic); +int from_uio_find_associated_eth_device(int uio_minor, char *name, + size_t name_size); + int nic_queue_tx_packet(nic_t *nic, nic_interface_t *nic_iface, packet_t *pkt); packet_t * nic_dequeue_tx_packet(nic_t *nic); nic_interface_t * nic_find_nic_iface(nic_t *nic, - uint16_t vlan_id); + uint16_t vlan_id); int add_vlan_interfaces(nic_t *nic); int nic_verify_uio_sysfs_name(nic_t *nic); diff --git a/brcm_iscsi_uio/src/unix/uevent.c b/brcm_iscsi_uio/src/unix/uevent.c index 7d76f79..4049bf5 100644 --- a/brcm_iscsi_uio/src/unix/uevent.c +++ b/brcm_iscsi_uio/src/unix/uevent.c @@ -197,7 +197,7 @@ static void parse_uevent(char *buf, int buf_len, struct parsed_uevent *event) } /****************************************************************************** - * wakeup_cnic_dev() - This function will notify all those waiting on the + * wakeup_cnic_dev() - This function will notify all those waiting on the * uio_wait_event conditionial. This should trigger * all threads waiting on this event. * @param event - The uevent which comes from the kernel @@ -259,9 +259,6 @@ static int wakeup_cnic_dev(struct parsed_uevent *event) pthread_mutex_unlock(&nic_list_mutex); if (nic == NULL) { - int uio_minor; - char eth_name[IFNAMSIZ]; - /* time to alloc a new cnic/uio device */ LOG_INFO(PFX "Couldn't find dev instance"); @@ -292,7 +289,7 @@ static int wakeup_cnic_dev(struct parsed_uevent *event) nic->flags |= NIC_UIO_NAME_MALLOC; - rc = from_uio_find_associated_eth_device(uio_minor, + rc = from_uio_find_associated_eth_device(nic->uio_minor, nic->eth_device_name, sizeof(nic->eth_device_name));