> 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 majord...@vger.kernel.org > 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html