aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/cxgb4
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2014-03-19 08:14:39 -0400
committerRoland Dreier <roland@purestorage.com>2014-03-20 12:59:04 -0400
commitf8e819081f797df355cffbdedb9301ea50ae76b2 (patch)
treeaaeeac2a57f4c700227b8a9c157b1e44cbfe8ecd /drivers/infiniband/hw/cxgb4
parentffd435924c86de055d33fe59941841819eef9f6a (diff)
RDMA/cxgb4: Allow loopback connections
find_route() must treat loopback as a valid egress interface. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/cxgb4')
-rw-r--r--drivers/infiniband/hw/cxgb4/cm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index d286bdebe2ab..360807eaffec 100644
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@ -400,7 +400,8 @@ static struct dst_entry *find_route(struct c4iw_dev *dev, __be32 local_ip,
400 n = dst_neigh_lookup(&rt->dst, &peer_ip); 400 n = dst_neigh_lookup(&rt->dst, &peer_ip);
401 if (!n) 401 if (!n)
402 return NULL; 402 return NULL;
403 if (!our_interface(dev, n->dev)) { 403 if (!our_interface(dev, n->dev) &&
404 !(n->dev->flags & IFF_LOOPBACK)) {
404 dst_release(&rt->dst); 405 dst_release(&rt->dst);
405 return NULL; 406 return NULL;
406 } 407 }