From: Julian Anastasov <ja@ssi.bg>
Date: Sun, 13 Apr 2014 15:08:02 +0000 (+0300)
Subject: ipv4: return valid RTA_IIF on ip route get
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=91146153da2feab18efab2e13b0945b6bb704ded;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

ipv4: return valid RTA_IIF on ip route get

Extend commit 13378cad02afc2adc6c0e07fca03903c7ada0b37
("ipv4: Change rt->rt_iif encoding.") from 3.6 to return valid
RTA_IIF on 'ip route get ... iif DEVICE' instead of rt_iif 0
which is displayed as 'iif *'.

inet_iif is not appropriate to use because skb_iif is not set.
Use the skb->dev->ifindex instead.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 34d094cadb11..20a59c388e6e 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -2357,7 +2357,7 @@ static int rt_fill_info(struct net *net,  __be32 dst, __be32 src,
 			}
 		} else
 #endif
-			if (nla_put_u32(skb, RTA_IIF, rt->rt_iif))
+			if (nla_put_u32(skb, RTA_IIF, skb->dev->ifindex))
 				goto nla_put_failure;
 	}