[ofa-general] [PATCH] IB/ehca: Prevent sending UD packets to QP0
Hal Rosenstock
hrosenstock at xsigo.com
Thu Jan 24 13:34:48 PST 2008
On Thu, 2008-01-24 at 17:59 +0100, Joachim Fenkes wrote:
> IB spec doesn't allow packets to QP0 sent on any other VL than VL15.
> Hardware doesn't filter those packets on the send side, so we need to do
> this in the driver and firmware.
>
> As eHCA doesn't support QP0, we can just filter out all traffic going to
> QP0, regardless of SL or VL.
Is this a hardware or software limitation ? If it is software, is there
any plan to enable QP0 support ?
-- Hal
> Signed-off-by: Joachim Fenkes <fenkes at de.ibm.com>
> ---
> drivers/infiniband/hw/ehca/ehca_reqs.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/infiniband/hw/ehca/ehca_reqs.c b/drivers/infiniband/hw/ehca/ehca_reqs.c
> index 3aacc8c..2ce8cff 100644
> --- a/drivers/infiniband/hw/ehca/ehca_reqs.c
> +++ b/drivers/infiniband/hw/ehca/ehca_reqs.c
> @@ -209,6 +209,10 @@ static inline int ehca_write_swqe(struct ehca_qp *qp,
> ehca_gen_err("wr.ud.ah is NULL. qp=%p", qp);
> return -EINVAL;
> }
> + if (unlikely(send_wr->wr.ud.remote_qpn == 0)) {
> + ehca_gen_err("dest QP# is 0. qp=%x", qp->real_qp_num);
> + return -EINVAL;
> + }
> my_av = container_of(send_wr->wr.ud.ah, struct ehca_av, ib_ah);
> wqe_p->u.ud_av.ud_av = my_av->av;
>
More information about the general
mailing list