On Wed, Feb 14, 2018 at 10:45 PM, Martin Wilck <mwilck@xxxxxxxx> wrote: > This patch fixes RDMA/rxe over 802.1q VLAN devices. > > Without it, I observed the following behavior: > > a) adding a VLAN device to RXE via rxe_net_add() creates a non-functional > RDMA device. This is caused by the logic in enum_all_gids_of_dev_cb() / > is_eth_port_of_netdev(), which only considers networks connected to "upper > devices" of the configured network device, resulting in an empty set of > gids for a VLAN interface that is an "upper device" itself. Later attempts > to connect via this rdma device fail in cma_acuire_dev() because no gids > can be resolved. > > b) adding the master device of the VLAN device instead seems to work > initially, target addresses via VLAN devices are resolved successfully. > But the connection times out because no 802.1q VLAN headers are inserted > in the ethernet packets, which are therefore never received. This happens > because the RXE layer sends the packets via the master device rather than > the VLAN device. > > The problem could be solved by changing either a) or b). My thinking was that > the logic in a) was created deliberately, thus I decided to work on b). It > turns out that the information about the VLAN interface for the gid at hand > is available in the AV information. My patch converts the RXE code to use this > netdev instead of rxe->ndev. With this change, RXE over vlan works on my test > system. > > The IB stack is certainly not my primary area of expertise, so I may have > chosen a wrong approach. I'm looking forward to reviews and comments. > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- Thanks Martian and sorry for the late response I reviewed and verified on my setup and it looks good Moni -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html