Author: hselasky
Date: Wed Mar  7 13:25:40 2018
New Revision: 330583
URL: https://svnweb.freebsd.org/changeset/base/330583

Log:
  Embed the IPv6 scope ID before calling rtalloc1() in ibcore.
  Else rtalloc1() will resolve to the loopback interface.
  
  MFC after:    1 week
  Sponsored by: Mellanox Technologies

Modified:
  head/sys/ofed/drivers/infiniband/core/ib_addr.c

Modified: head/sys/ofed/drivers/infiniband/core/ib_addr.c
==============================================================================
--- head/sys/ofed/drivers/infiniband/core/ib_addr.c     Wed Mar  7 13:16:03 
2018        (r330582)
+++ head/sys/ofed/drivers/infiniband/core/ib_addr.c     Wed Mar  7 13:25:40 
2018        (r330583)
@@ -424,6 +424,13 @@ static int addr6_resolve(struct sockaddr_in6 *src_in,
         */
        dst_tmp.sin6_len = sizeof(dst_tmp);
 
+       /*
+        * Make sure the scope ID gets embedded, else rtalloc1() will
+        * resolve to the loopback interface.
+        */
+       dst_tmp.sin6_scope_id = addr->bound_dev_if;
+       sa6_embedscope(&dst_tmp, 0);
+
        /* Step 1 - lookup destination route if any */
        switch (type) {
        case 0:
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to