[PATCH 19 of 33] IB/ipath - Discard multicast packets without a GRH

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Bryan O'Sullivan
Date: Thursday, March 15, 2007 - 2:45 pm

# HG changeset patch
# User Bryan O'Sullivan <bos@pathscale.com>
# Date 1173994465 25200
# Node ID c96d13efde155eb60dc0eca0bd56e81ecd36281b
# Parent  878b6054e9ca5327db9c9438f66265afaf88b055
IB/ipath - Discard multicast packets without a GRH

This patch fixes a bug where multicast packets without a GRH
were not being dropped as per the IB spec.

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>

diff -r 878b6054e9ca -r c96d13efde15 drivers/infiniband/hw/ipath/ipath_verbs.c
--- a/drivers/infiniband/hw/ipath/ipath_verbs.c	Thu Mar 15 14:34:25 2007 -0700
+++ b/drivers/infiniband/hw/ipath/ipath_verbs.c	Thu Mar 15 14:34:25 2007 -0700
@@ -438,6 +438,10 @@ void ipath_ib_rcv(struct ipath_ibdev *de
 		struct ipath_mcast *mcast;
 		struct ipath_mcast_qp *p;
 
+		if (lnh != IPATH_LRH_GRH) {
+			dev->n_pkt_drops++;
+			goto bail;
+		}
 		mcast = ipath_mcast_find(&hdr->u.l.grh.dgid);
 		if (mcast == NULL) {
 			dev->n_pkt_drops++;
@@ -445,8 +449,7 @@ void ipath_ib_rcv(struct ipath_ibdev *de
 		}
 		dev->n_multicast_rcv++;
 		list_for_each_entry_rcu(p, &mcast->qp_list, list)
-			ipath_qp_rcv(dev, hdr, lnh == IPATH_LRH_GRH, data,
-				     tlen, p->qp);
+			ipath_qp_rcv(dev, hdr, 1, data, tlen, p->qp);
 		/*
 		 * Notify ipath_multicast_detach() if it is waiting for us
 		 * to finish.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00 of 33] Set of ipath patches for 2.6.22, Bryan O'Sullivan, (Thu Mar 15, 2:44 pm)
[PATCH 08 of 33] IB/ipath - fix up some debug messages, Bryan O'Sullivan, (Thu Mar 15, 2:44 pm)
[PATCH 09 of 33] IB/ipath - fix QP error completion queue ..., Bryan O'Sullivan, (Thu Mar 15, 2:44 pm)
[PATCH 10 of 33] IB/ipath - fix PSN update for RC retries, Bryan O'Sullivan, (Thu Mar 15, 2:44 pm)
[PATCH 12 of 33] IB/ipath - fix bad argument to clear_bit ..., Bryan O'Sullivan, (Thu Mar 15, 2:44 pm)
[PATCH 14 of 33] IB/ipath - fix port sharing on powerpc, Bryan O'Sullivan, (Thu Mar 15, 2:44 pm)
[PATCH 16 of 33] IB/ipath - fix RDMA reads of length zero ..., Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
[PATCH 18 of 33] IB/ipath - Fix calculation for number of ..., Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
[PATCH 19 of 33] IB/ipath - Discard multicast packets with ..., Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
[PATCH 21 of 33] IB/ipath - force PIOAvail update entry point, Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
[PATCH 26 of 33] IB/ipath - prevent random program use of ..., Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
[PATCH 29 of 33] IB/ipath - fix unit selection due to all ..., Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
[PATCH 30 of 33] IB/ipath - check reserved keys, Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
[PATCH 33 of 33] IB/ipath - fix drift between WCs in user ..., Bryan O'Sullivan, (Thu Mar 15, 2:45 pm)
Re: [PATCH 00 of 33] Set of ipath patches for 2.6.22, Roland Dreier, (Mon Mar 19, 2:17 pm)
Re: [PATCH 01 of 33] IB/ipath - add ability to set and cle ..., Bryan O'Sullivan, (Wed Mar 21, 11:50 am)
Re: [PATCH 00 of 33] Set of ipath patches for 2.6.22, Roland Dreier, (Tue Apr 10, 3:30 pm)