[ewg] [PATCH] libibverbs: add raw ethernet QP type IBV_QPT_RAW_ETH=7

Aleksey Senin alekseys at voltaire.com
Sun May 2 06:14:51 PDT 2010


Could you add additional details about its usage in the feature to
community? Why and how can it be used? I understand, that using this QP
type, user will have full control on the packet content and it may be
required when you are missing some features now, like UD, and want
implement them by yourself.
Another thing. Is seems that you have to patch kernel too in order
implement such support. Something like this.

enum ib_qp_type {
        /*
         * IB_QPT_SMI and IB_QPT_GSI have to be the first two entries
         * here (and in that order) since the MAD layer uses them as
         * indices into a 2-entry table.
         */
        IB_QPT_SMI,
        IB_QPT_GSI,

        IB_QPT_RC,
        IB_QPT_UC,
        IB_QPT_UD,
        IB_QPT_XRC,
        IB_QPT_RAW_IPV6,
        IB_QPT_RAW_ETH,
        IB_QPT_RAW_ETY
};
And its, probably, a reason, why IBV_QPT_RAW_ETH should be equal to 7.

On Fri, 2010-04-30 at 18:46 +0200, Mirek Walukiewicz wrote:
> The patch enables usage of L2 raw ethernet QP type for user-space applications.
> 
> Miroslaw Walukiewicz
> 
> 
> Signed-off-by: Mirek Walukiewicz <miroslaw.walukiewicz at intel.com>
> ---
>  include/infiniband/verbs.h |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> 
> diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h
> index 0f1cb2e..55cea89 100644
> --- a/include/infiniband/verbs.h
> +++ b/include/infiniband/verbs.h
> @@ -390,7 +390,8 @@ struct ibv_srq_init_attr {
>  enum ibv_qp_type {
>  	IBV_QPT_RC = 2,
>  	IBV_QPT_UC,
> -	IBV_QPT_UD
> +	IBV_QPT_UD,
> +	IBV_QPT_RAW_ETH = 7
>  };
>  
>  struct ibv_qp_cap {
> 
>  
> _______________________________________________
> ewg mailing list
> ewg at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg




More information about the ewg mailing list