The new qp type designated usage is from user-space in Ethernet environments, e.g by applications that do TCP/IP offloading. Only processes with the NET_RAW capability may open such qp. The name raw packet was selected to resemble the similarity to AF_PACKET / SOL_RAW sockets. Applications that use this qp type should deal with whole packets, including link level headers.
This series allows to create such QPs and send packets over them. To receive packets, flow steering support has to be added to the verbs and low-level drivers. Flow Steering is the ability to program the HCA to direct a packet which matches a given flow specification to a given QP. Flow specs set by applications are typically made of L3 (IP) and L4 (TCP/UDP) based tuples, where network drivers typically use L2 based tuples. Core and mlx4 patches for flow steering are expected in the coming weeks. Signed-off-by: Or Gerlitz <[email protected]> --- changes from previous posting (called "V3", December 2010): pointers follow 0/4 http://marc.info/?l=linux-rdma&m=129162076818154&w=2 1/4 http://marc.info/?l=linux-rdma&m=129162091418289&w=2 2/4 http://marc.info/?l=linux-rdma&m=129162097418418&w=2 3/4 http://marc.info/?l=linux-rdma&m=129162104318490&w=2 4/4 http://marc.info/?l=linux-rdma&m=129165436031094&w=2 - at the verbs level, IBTA GIDs have nothing to do with Ethernet/IP/TCP flow specifications. Hence multicast attach for RAW Packet QPs, which was allowed there under the implicit assumption that GIDs contain Ethernet link level information was removed from the series. Or Gerlitz (2): IB/core: add RAW Packet QP type IB/mlx4: add Raw Packet QP support drivers/infiniband/core/uverbs_cmd.c | 3 +++ drivers/infiniband/core/verbs.c | 1 + drivers/infiniband/hw/mlx4/qp.c | 29 ++++++++++++++++++++++++++--- include/rdma/ib_verbs.h | 2 +- 4 files changed, 31 insertions(+), 4 deletions(-) for libibverbs: Or Gerlitz (1): include/infiniband/verbs.h | 3 ++- man/ibv_create_qp.3 | 2 +- man/ibv_modify_qp.3 | 11 ++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) for libmlx4: Or Gerlitz (1): qp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 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
