> Per off-list conversation with Roland, add some new enums for the
> Cisco Ethernet Virtual NIC (it's not an RNIC/iWARP device, so it
> doesn't fit in the same category as RDMA_NODE_RNIC / RDMA_TRANSPORT_IWARP).
>
> "USNIC" = "Userspace NIC".
Can we get a better patch description?
Maybe mention something about the NIC? Does it support all verbs? Is it for
kernel users or just user space? Does this simply export a raw ethernet
interface?
> ---
> examples/devinfo.c | 1 +
> include/infiniband/verbs.h | 6 ++++--
> src/enum_strs.c | 5 +++--
> src/init.c | 5 ++++-
> 4 files changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/examples/devinfo.c b/examples/devinfo.c
> index 7dc0463..98a6b4b 100644
> --- a/examples/devinfo.c
> +++ b/examples/devinfo.c
> @@ -72,6 +72,7 @@ static const char *transport_str(enum ibv_transport_type
> transport)
> switch (transport) {
> case IBV_TRANSPORT_IB: return "InfiniBand";
> case IBV_TRANSPORT_IWARP: return "iWARP";
> + case IBV_TRANSPORT_USNIC: return "USNIC";
> default: return "invalid transport";
> }
> }
> diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h
> index 6acfc81..6a6944c 100644
> --- a/include/infiniband/verbs.h
> +++ b/include/infiniband/verbs.h
> @@ -68,13 +68,15 @@ enum ibv_node_type {
> IBV_NODE_CA = 1,
> IBV_NODE_SWITCH,
> IBV_NODE_ROUTER,
> - IBV_NODE_RNIC
> + IBV_NODE_RNIC,
> + IBV_NODE_USNIC
> };
>
> enum ibv_transport_type {
> IBV_TRANSPORT_UNKNOWN = -1,
> IBV_TRANSPORT_IB = 0,
> - IBV_TRANSPORT_IWARP
> + IBV_TRANSPORT_IWARP,
> + IBV_TRANSPORT_USNIC
> };
>
> enum ibv_device_cap_flags {
> diff --git a/src/enum_strs.c b/src/enum_strs.c
> index 54d71a6..0d68c75 100644
> --- a/src/enum_strs.c
> +++ b/src/enum_strs.c
> @@ -38,10 +38,11 @@ const char *ibv_node_type_str(enum ibv_node_type
> node_type)
> [IBV_NODE_CA] = "InfiniBand channel adapter",
> [IBV_NODE_SWITCH] = "InfiniBand switch",
> [IBV_NODE_ROUTER] = "InfiniBand router",
> - [IBV_NODE_RNIC] = "iWARP NIC"
> + [IBV_NODE_RNIC] = "iWARP NIC",
> + [IBV_NODE_USNIC] = "Ethernet USNIC"
> };
>
> - if (node_type < IBV_NODE_CA || node_type > IBV_NODE_RNIC)
> + if (node_type < IBV_NODE_CA || node_type > IBV_NODE_USNIC)
> return "unknown";
>
> return node_type_str[node_type];
> diff --git a/src/init.c b/src/init.c
> index 8d6786e..e4ef001 100644
> --- a/src/init.c
> +++ b/src/init.c
> @@ -346,7 +346,7 @@ static struct ibv_device *try_driver(struct ibv_driver
> *driver,
> dev->node_type = IBV_NODE_UNKNOWN;
> } else {
> dev->node_type = strtol(value, NULL, 10);
> - if (dev->node_type < IBV_NODE_CA || dev->node_type >
> IBV_NODE_RNIC)
> + if (dev->node_type < IBV_NODE_CA || dev->node_type >
> IBV_NODE_USNIC)
> dev->node_type = IBV_NODE_UNKNOWN;
> }
>
> @@ -359,6 +359,9 @@ static struct ibv_device *try_driver(struct ibv_driver
> *driver,
> case IBV_NODE_RNIC:
> dev->transport_type = IBV_TRANSPORT_IWARP;
> break;
> + case IBV_NODE_USNIC:
> + dev->transport_type = IBV_TRANSPORT_USNIC;
> + break;
> default:
> dev->transport_type = IBV_TRANSPORT_UNKNOWN;
> break;
> --
> 1.8.1.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html