All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
To: Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>,
	Liran Liss <liranl-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH 0/4] add RAW Packet QP type
Date: Tue, 17 Jan 2012 09:08:07 -0600	[thread overview]
Message-ID: <4F158ED7.3080405@opengridcomputing.com> (raw)
In-Reply-To: <alpine.LRH.2.00.1201171330540.24946-VYr5/9ddeaGSIdy2EShu12Xnswh1EIUO@public.gmane.org>


On 01/17/2012 05:34 AM, Or Gerlitz wrote:
> 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.

Hey Or,

I think this series should add some new send flags for HW that does checksum offload:

For example, cxgb4 supports these:

enum {                     /* TX_PKT_XT checksum types */
         TX_CSUM_TCP    = 0,
         TX_CSUM_UDP    = 1,
         TX_CSUM_CRC16  = 4,
         TX_CSUM_CRC32  = 5,
         TX_CSUM_CRC32C = 6,
         TX_CSUM_FCOE   = 7,
         TX_CSUM_TCPIP  = 8,
         TX_CSUM_UDPIP  = 9,
         TX_CSUM_TCPIP6 = 10,
         TX_CSUM_UDPIP6 = 11,
         TX_CSUM_IP     = 12,
};

I'm sure mlx4 has this sort of functionality too?

Another form of HW assist is with VLAN insertion/extraction.  The API should provide a way to specify if a VLAN ID 
should be inserted by HW and removed from a packet on ingress (and passed to the app via the CQE).  In fact, we probably 
want a way to associate a VLAN with a RAW QP, maybe as a QP attribute?

Also, on ingress, most hardware can do INET checksum validation, and a way to indicate the results to the application is 
needed.  Perhaps flags in the CQE?  The cxgb4 device provides many fields on a ingress packet completion that would be 
useful for user mode applications including indications of MAC RX errors, protocol length vs packet length mismatches, 
IP version not 4 or 6, and more.  Does mlx4 has these sorts of indications on ingress packet CQEs?

Food for thought.

Steve.



--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2012-01-17 15:08 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <alpine.LRH.2.00.1201171330540.24946@ogerlitz.voltaire.com>
     [not found] ` <alpine.LRH.2.00.1201171330540.24946-VYr5/9ddeaGSIdy2EShu12Xnswh1EIUO@public.gmane.org>
2012-01-17 11:37   ` [PATCH 1/4] IB/core: add RAW Packet QP type Or Gerlitz
     [not found]     ` <alpine.LRH.2.00.1201171337040.26871-VYr5/9ddeaGSIdy2EShu12Xnswh1EIUO@public.gmane.org>
2012-01-19  1:28       ` Hefty, Sean
     [not found]         ` <1828884A29C6694DAF28B7E6B8A823732DC04FDC-P5GAC/sN6hmkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2012-02-16  3:59           ` Or Gerlitz
     [not found]             ` <CAJZOPZKbdQF1pb7wQNjk23D4hpVgsYF1RNvtq9zDVURLxkLRzA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-02-16 15:27               ` Christoph Lameter
     [not found]                 ` <alpine.DEB.2.00.1202160926460.26083-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2012-03-12 16:41                   ` Or Gerlitz
     [not found]                     ` <4F5E272B.6060909-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2012-03-12 19:29                       ` Christoph Lameter
2012-03-01 10:17       ` [PATCH V1 " Or Gerlitz
2012-04-24 23:42       ` [PATCH " Roland Dreier
2012-01-17 11:39   ` [PATCH 2/4] IB/mlx4: add Raw Packet QP support Or Gerlitz
     [not found]     ` <alpine.LRH.2.00.1201171338430.26871-VYr5/9ddeaGSIdy2EShu12Xnswh1EIUO@public.gmane.org>
2012-01-18 18:47       ` Hefty, Sean
     [not found]         ` <1828884A29C6694DAF28B7E6B8A823732DC04E97-P5GAC/sN6hmkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2012-01-18 21:11           ` Or Gerlitz
2012-01-17 11:41   ` [PATCH libibverbs 3/4] add RAW Packet QP type Or Gerlitz
2012-01-17 11:42   ` [PATCH libmlx4 4/4] add Raw Packet QP support Or Gerlitz
2012-01-17 15:08   ` Steve Wise [this message]
     [not found]     ` <4F158ED7.3080405-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2012-01-17 15:30       ` [PATCH 0/4] add RAW Packet QP type Walukiewicz, Miroslaw
2012-01-17 15:59       ` Or Gerlitz
     [not found]         ` <4F159AEB.1060603-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2012-01-17 16:21           ` Steve Wise
     [not found]             ` <4F15A008.9010303-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2013-05-20 22:43               ` Shawn Bohrer
     [not found]                 ` <20130520224308.GA16639-/vebjAlq/uFE7V8Yqttd03bhEEblAqRIDbRjUBewulXQT0dZR+AlfA@public.gmane.org>
2013-05-21 19:57                   ` Or Gerlitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F158ED7.3080405@opengridcomputing.com \
    --to=swise-7bpotxp6k4+p2yhjcf5u+vpxobypeauw@public.gmane.org \
    --cc=cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=liranl-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.