Author: hselasky
Date: Thu Apr 21 16:04:58 2016
New Revision: 298412
URL: https://svnweb.freebsd.org/changeset/base/298412

Log:
  Fix for resolving mac address when the destination address is a gateway.
  Remove some dead code while at it.
  
  Sponsored by: Mellanox Technologies
  MFC after:    1 week

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

Modified: head/sys/ofed/drivers/infiniband/core/addr.c
==============================================================================
--- head/sys/ofed/drivers/infiniband/core/addr.c        Thu Apr 21 15:38:28 
2016        (r298411)
+++ head/sys/ofed/drivers/infiniband/core/addr.c        Thu Apr 21 16:04:58 
2016        (r298412)
@@ -333,17 +333,18 @@ mcast:
        switch (dst_in->sa_family) {
 #ifdef INET
        case AF_INET:
-               error = arpresolve(ifp, is_gw, NULL, dst_in, edst, NULL);
+               error = arpresolve(ifp, is_gw, NULL,
+                   is_gw ? rte->rt_gateway : dst_in, edst, NULL);
                break;
 #endif
 #ifdef INET6
        case AF_INET6:
-               error = nd6_resolve(ifp, is_gw, NULL, dst_in, edst, NULL);
+               error = nd6_resolve(ifp, is_gw, NULL,
+                   is_gw ? rte->rt_gateway : dst_in, edst, NULL);
                break;
 #endif
        default:
-               /* XXX: Shouldn't happen. */
-               error = -EINVAL;
+               break;
        }
        RTFREE(rte);
        if (error == 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