svn commit: r330492 - head/sys/ofed/drivers/infiniband/core
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Mar 5 11:55:30 UTC 2018
Author: hselasky
Date: Mon Mar 5 11:55:29 2018
New Revision: 330492
URL: https://svnweb.freebsd.org/changeset/base/330492
Log:
Add support for IPv6 link local GIDs equal to the default GID for
VLANs in ibcore.
IPv6 link local addresses are usually derived from the netdev MAC
address. This is applicable to VLAN devices and its lower netdevice as
well. In such cases the IPv6 link local address is a duplicate of the
default GID.
Now that link local IPv6 addresses based GIDs are supported, allow
adding such GID entries in the GID table.
MFC after: 1 week
Sponsored by: Mellanox Technologies
Modified:
head/sys/ofed/drivers/infiniband/core/ib_cache.c
Modified: head/sys/ofed/drivers/infiniband/core/ib_cache.c
==============================================================================
--- head/sys/ofed/drivers/infiniband/core/ib_cache.c Mon Mar 5 11:52:39 2018 (r330491)
+++ head/sys/ofed/drivers/infiniband/core/ib_cache.c Mon Mar 5 11:55:29 2018 (r330492)
@@ -336,29 +336,12 @@ int ib_cache_gid_add(struct ib_device *ib_dev, u8 port
struct ib_gid_table *table;
int ix;
int ret = 0;
- struct net_device *idev;
int empty;
table = ports_table[port - rdma_start_port(ib_dev)];
if (!memcmp(gid, &zgid, sizeof(*gid)))
return -EINVAL;
-
- if (ib_dev->get_netdev) {
- idev = ib_dev->get_netdev(ib_dev, port);
- if (idev && attr->ndev != idev) {
- union ib_gid default_gid;
-
- /* Adding default GIDs in not permitted */
- make_default_gid(idev, &default_gid);
- if (!memcmp(gid, &default_gid, sizeof(*gid))) {
- dev_put(idev);
- return -EPERM;
- }
- }
- if (idev)
- dev_put(idev);
- }
mutex_lock(&table->lock);
write_lock_irq(&table->rwlock);
More information about the svn-src-all
mailing list