Hi Roland,
 
   This patch initializes the ibv_device->node_type at creation to provide
   easy access by library code where node type differences are significant;
   specifically at context allocation.

   Currently this value is not initialized, this update saves the value where
   the current code now determines the node type. Although not limited to the
   mthca_router mode support, this patch is required by the upcoming libmthca
   router mode support patch.

Signed-off-by: Steve Welch <[EMAIL PROTECTED]>
---
 src/init.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/init.c b/src/init.c
index a8bebd2..07ab855 100644
--- a/src/init.c
+++ b/src/init.c
@@ -333,7 +333,6 @@ static struct ibv_device *try_driver(struct ibv_driver 
*driver,
 {
        struct ibv_device *dev;
        char value[8];
-       enum ibv_node_type node_type;
 
        dev = driver->init_func(sysfs_dev->sysfs_path, sysfs_dev->abi_ver);
        if (!dev)
@@ -342,14 +341,14 @@ static struct ibv_device *try_driver(struct ibv_driver 
*driver,
        if (ibv_read_sysfs_file(sysfs_dev->ibdev_path, "node_type", value, 
sizeof value) < 0) {
                fprintf(stderr, PFX "Warning: no node_type attr under %s.\n",
                        sysfs_dev->ibdev_path);
-                       node_type = IBV_NODE_UNKNOWN;
+                       dev->node_type = IBV_NODE_UNKNOWN;
        } else {
-               node_type = strtol(value, NULL, 10);
-               if (node_type < IBV_NODE_CA || node_type > IBV_NODE_RNIC)
-                       node_type = IBV_NODE_UNKNOWN;
+               dev->node_type = strtol(value, NULL, 10);
+               if (dev->node_type < IBV_NODE_CA || dev->node_type > 
IBV_NODE_RNIC)
+                       dev->node_type = IBV_NODE_UNKNOWN;
        }
 
-       switch (node_type) {
+       switch (dev->node_type) {
        case IBV_NODE_CA:
        case IBV_NODE_SWITCH:
        case IBV_NODE_ROUTER:
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to