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