Hi Mark, > -----Original Message----- > From: Mark Bloch > Sent: Monday, April 29, 2019 5:31 PM > To: Parav Pandit <parav@xxxxxxxxxxxx>; Leon Romanovsky > <leonro@xxxxxxxxxxxx>; Saeed Mahameed <saeedm@xxxxxxxxxxxx> > Cc: Jason Gunthorpe <jgg@xxxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux- > rdma@xxxxxxxxxxxxxxx; Maor Gottlieb <maorg@xxxxxxxxxxxx> > Subject: Re: [PATCH V2 mlx5-next 09/11] net/mlx5: Eswitch, enable RoCE > loopback traffic > > > > On 4/29/19 11:45 AM, Parav Pandit wrote: > > > > > >> -----Original Message----- > >> From: netdev-owner@xxxxxxxxxxxxxxx <netdev-owner@xxxxxxxxxxxxxxx> > On > >> Behalf Of Leon Romanovsky > >> Sent: Monday, April 29, 2019 1:41 PM > >> To: Saeed Mahameed <saeedm@xxxxxxxxxxxx> > >> Cc: Jason Gunthorpe <jgg@xxxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; > >> linux- rdma@xxxxxxxxxxxxxxx; Maor Gottlieb <maorg@xxxxxxxxxxxx>; > Mark > >> Bloch <markb@xxxxxxxxxxxx> > >> Subject: Re: [PATCH V2 mlx5-next 09/11] net/mlx5: Eswitch, enable > >> RoCE loopback traffic > >> > >> On Mon, Apr 29, 2019 at 06:14:16PM +0000, Saeed Mahameed wrote: > >>> From: Maor Gottlieb <maorg@xxxxxxxxxxxx> > >>> > >>> When in switchdev mode, we would like to treat loopback RoCE traffic > >>> (on eswitch manager) as RDMA and not as regular Ethernet traffic In > >>> order to enable it we add flow steering rule that forward RoCE > >>> loopback traffic to the HW RoCE filter (by adding allow rule). > >>> In addition we add RoCE address in GID index 0, which will be set in > >>> the RoCE loopback packet. > >>> > > I likely don't understand nor I reviewed the patches. > > Part that I don't understand is GID index 0 for RoCE. > > RoCE traffic runs over all the GID entries and for all practical purposes from > non_zero index. > > How will it work? > > Currently in switchdev mode we only support RAW Ethernet QP and no RoCE > capabilities are reported to ib_core. > Which means no GIDs are inserted to the HW's GID table and RoCE isn't > enabled on the vport. > > However, there are cases where an internal RC QP might be needed, and for > that we need a GID. > The patches from Maor make sure a GID entry at index 0 is valid (and we do > that only in switchdev mode), and with steering we make sure such traffic is > only used for loopback purposes. Got it. Thanks for the detailed description. Its clear to me now.