linux/drivers/infiniband/sw/rxe
Martin Wilck f1b0a8ea9f Revert "RDMA/rxe: Remove VLAN code leftovers from RXE"
This reverts commit b2d2440430.

It's true that creating rxe on top of 802.1q interfaces doesn't work.
Thus, commit fd49ddaf7e ("RDMA/rxe: prevent rxe creation on top of vlan
interface") was absolutely correct.

But b2d2440430 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.

This is hard to see in the rxe logic because it never talks about vlan,
but instead rxe carefully selects upper vlan netdevices when working with
packets which in turn imply certain vlan tagging. This is all done
correctly and interacts with the gid table with VLAN support the same as
real HW does.

b2d2440430 broke this setup deliberately and should thus be
reverted. Also, b2d2440430 removed rxe_dma_device(), so adapt the revert
to discard that hunk.

Fixes: b2d2440430 ("RDMA/rxe: Remove VLAN code leftovers from RXE")
Link: https://lore.kernel.org/r/20210120161913.7347-1-mwilck@suse.com
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2021-01-20 13:29:28 -04:00
..
Kconfig RDMA/core: remove use of dma_virt_ops 2020-11-17 15:22:07 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rxe.c Merge branch 'mlx5_active_speed' into rdma.git for-next 2020-09-18 10:31:45 -03:00
rxe.h Merge branch 'mlx5_active_speed' into rdma.git for-next 2020-09-18 10:31:45 -03:00
rxe_av.c RDMA/rxe: Fix small problem in network_type patch 2020-10-26 19:12:17 -03:00
rxe_comp.c Linux 5.9-rc3 2020-08-31 12:28:12 -03:00
rxe_cq.c RDMA/rxe: Use acquire/release for memory ordering 2020-12-11 19:57:48 -04:00
rxe_hdr.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_hw_counters.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_hw_counters.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_icrc.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_loc.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_mcast.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_mmap.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_mr.c RDMA/rxe: Remove unused RXE_MR_TYPE_FMR 2020-10-26 20:00:27 -03:00
rxe_net.c Revert "RDMA/rxe: Remove VLAN code leftovers from RXE" 2021-01-20 13:29:28 -04:00
rxe_net.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_opcode.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_opcode.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_param.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_pool.c RDMA/rxe: Address an issue with hardened user copy 2020-08-31 12:21:16 -03:00
rxe_pool.h RDMA/rxe: Address an issue with hardened user copy 2020-08-31 12:21:16 -03:00
rxe_qp.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_queue.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_queue.h RDMA/rxe: Use acquire/release for memory ordering 2020-12-11 19:57:48 -04:00
rxe_recv.c RDMA/rxe: Handle skb_clone() failure in rxe_recv.c 2020-10-16 13:57:55 -03:00
rxe_req.c RDMA/rxe: Compute PSN windows correctly 2020-10-28 10:34:20 -03:00
rxe_resp.c Revert "RDMA/rxe: Remove VLAN code leftovers from RXE" 2021-01-20 13:29:28 -04:00
rxe_srq.c RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_sysfs.c Merge branch 'mlx5_active_speed' into rdma.git for-next 2020-09-18 10:31:45 -03:00
rxe_task.c RDMA/rxe: Convert tasklets to use new tasklet_setup() API 2020-09-03 12:01:53 -03:00
rxe_task.h RDMA/rxe: Convert tasklets to use new tasklet_setup() API 2020-09-03 12:01:53 -03:00
rxe_verbs.c RDMA/rxe: Use acquire/release for memory ordering 2020-12-11 19:57:48 -04:00
rxe_verbs.h RDMA/core: remove use of dma_virt_ops 2020-11-17 15:22:07 -04:00