Re: [PATCH v2] Revert "RDMA/rxe: Remove VLAN code leftovers from RXE"

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

 



On Wed, Jan 20, 2021 at 05:19:13PM +0100, mwilck@xxxxxxxx wrote:
> From: Martin Wilck <mwilck@xxxxxxxx>
> 
> This reverts commit b2d2440430c0fdd5e0cad3efd6d1c9e3d3d02e5b.
> 
> It's true that creating rxe on top of 802.1q interfaces doesn't work.
> Thus, commit fd49ddaf7e26 ("RDMA/rxe: prevent rxe creation on top of vlan interface")
> was absolutely correct.
> 
> But b2d2440430c0 was incorrect assuming that with this change,
> RDMA and VLAN don't work togehter at all. It just has to be
> set up differently. Rather than creating rxe on top of the VLAN
> interface, rxe must be created on top of the physical interface.
> RDMA then works just fine through VLAN interfaces on top of that
> physical interface, via the "upper device" logic.
> 
> I've tested this mainly with NVMe over RDMA and rping, but I don't
> see why it wouldn't work just as well for other protocols. If there
> are real issues, I'd like to know.
> 
> b2d2440430c0 broke this setup deliberately and should thus be
> reverted. Also, b2d2440430c0 removed rxe_dma_device() (which is
> indeed not necessary), but not its declaration in rxe_loc.h.
> 
> Fixes: b2d2440430c0 ("RDMA/rxe: Remove VLAN code leftovers from RXE")
> 
> Cc: Zhu Yanjun <zyjzyj2000@xxxxxxxxx>
> Cc: Mohammad Heib <goody698@xxxxxxxxx>
> Cc: Nicolas Morey-Chaisemartin <nmoreychaisemartin@xxxxxxxx>
> Signed-off-by: Martin Wilck <mwilck@xxxxxxxx>
>  drivers/infiniband/sw/rxe/rxe_loc.h  | 1 -
>  drivers/infiniband/sw/rxe/rxe_net.c  | 6 ++++++
>  drivers/infiniband/sw/rxe/rxe_resp.c | 5 +++++
>  3 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/sw/rxe/rxe_loc.h b/drivers/infiniband/sw/rxe/rxe_loc.h
> index 0d758760b9ae..8adcef54e4b3 100644
> +++ b/drivers/infiniband/sw/rxe/rxe_loc.h
> @@ -116,7 +116,6 @@ struct sk_buff *rxe_init_packet(struct rxe_dev *rxe, struct rxe_av *av,
>  				int paylen, struct rxe_pkt_info *pkt);
>  int rxe_prepare(struct rxe_pkt_info *pkt, struct sk_buff *skb, u32 *crc);
>  const char *rxe_parent_name(struct rxe_dev *rxe, unsigned int port_num);
> -struct device *rxe_dma_device(struct rxe_dev *rxe);
>  int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid);
>  int rxe_mcast_delete(struct rxe_dev *rxe, union ib_gid *mgid);

I can't take this hunk as a -rc patch

But I took the rest to for-rc, thanks

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