RDMA/rxe: Improve loopback marking

Currently a packet is marked for loopback only if the source and
destination addresses equals. This is not enough when multiple gids are
present in rxe device's gid table and the traffic is from one gid to
another. Fix it by marking the packet for loopback if the destination MAC
address is equal to the source MAC address.

Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Tested-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
Kamal Heib
2019-01-29 12:08:50 +02:00
committed by Jason Gunthorpe
parent fa40718804
commit 668aa15b5b
3 changed files with 5 additions and 8 deletions

View File

@@ -58,8 +58,7 @@ struct rxe_global_route {
struct rxe_av {
__u8 port_num;
__u8 network_type;
__u16 reserved1;
__u32 reserved2;
__u8 dmac[6];
struct rxe_global_route grh;
union {
struct sockaddr_in _sockaddr_in;