diff options
author | Steve Wise <swise@opengridcomputing.com> | 2014-03-19 08:14:39 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-03-20 12:59:04 -0400 |
commit | f8e819081f797df355cffbdedb9301ea50ae76b2 (patch) | |
tree | aaeeac2a57f4c700227b8a9c157b1e44cbfe8ecd /drivers/infiniband/hw/cxgb4 | |
parent | ffd435924c86de055d33fe59941841819eef9f6a (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.c | 3 |
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 | } |