Do not add RoCEv2 default GID in ibcore when IPv6 is disabled to honor the
networking stack's IPv6 disabled setting. Else the offload HCA can start using IPv6 packets for QPs. MFC after: 1 week Sponsored by: Mellanox Technologies
This commit is contained in:
parent
09938b2185
commit
be5c019762
@ -42,6 +42,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/in6.h>
|
||||
|
||||
#include <rdma/ib_cache.h>
|
||||
|
||||
@ -703,6 +704,16 @@ void ib_cache_gid_set_default_gid(struct ib_device *ib_dev, u8 port,
|
||||
memset(&gid_attr, 0, sizeof(gid_attr));
|
||||
gid_attr.ndev = ndev;
|
||||
|
||||
/* Default GID is created using unique GUID and local subnet prefix,
|
||||
* as described in section 4.1.1 and 3.5.10 in IB spec 1.3.
|
||||
* Therefore don't create RoCEv2 default GID based on it that
|
||||
* resembles as IPv6 GID based on link local address when IPv6 is
|
||||
* disabled in kernel.
|
||||
*/
|
||||
#ifndef INET6
|
||||
gid_type_mask &= ~BIT(IB_GID_TYPE_ROCE_UDP_ENCAP);
|
||||
#endif
|
||||
|
||||
for (gid_type = 0; gid_type < IB_GID_TYPE_SIZE; ++gid_type) {
|
||||
int ix;
|
||||
union ib_gid current_gid;
|
||||
|
Loading…
x
Reference in New Issue
Block a user