Re: [PATCH for-next v2] rdma_rxe: fix bug rejecting multicast packets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 09, 2020 at 11:23:31PM +0800, Zhu Yanjun wrote:
> On 10/9/2020 5:27 AM, Bob Pearson wrote:
> >    - Fix a bug in rxe_rcv that causes all multicast packets to be
> >      dropped. Currently rxe_match_dgid is called for each packet
> >      to verify that the destination IP address matches one of the
> >      entries in the port source GID table. This is incorrect for
> >      IP multicast addresses since they do not appear in the GID table.
> >    - Add code to detect multicast addresses.
> >    - Change function name to rxe_chk_dgid which is clearer.
> > 
> > Signed-off-by: Bob Pearson <rpearson@xxxxxxx>
> >   drivers/infiniband/sw/rxe/rxe_recv.c | 19 ++++++++++++++++---
> >   1 file changed, 16 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/infiniband/sw/rxe/rxe_recv.c b/drivers/infiniband/sw/rxe/rxe_recv.c
> > index a3eed4da1540..b6fee61b2aee 100644
> > +++ b/drivers/infiniband/sw/rxe/rxe_recv.c
> > @@ -280,7 +280,17 @@ static void rxe_rcv_mcast_pkt(struct rxe_dev *rxe, struct sk_buff *skb)
> >   	kfree_skb(skb);
> >   }
> > -static int rxe_match_dgid(struct rxe_dev *rxe, struct sk_buff *skb)
> > +/**
> > + * rxe_chk_dgid - validate destination IP address
> > + * @rxe: rxe device that received packet
> > + * @skb: the received packet buffer
> > + *
> > + * Accept any loopback packets
> 
> About loopback packets, will rdma_find_gid_by_port return correct value?

I don't think you can use 127.0.0.0 with the RDMA devices, at least
not on the wire. The CM has special code to swap it out with a real
device address

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux