summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authormelifaro <melifaro@FreeBSD.org>2016-01-04 17:23:10 +0000
committermelifaro <melifaro@FreeBSD.org>2016-01-04 17:23:10 +0000
commitc0fa0ea25ea7ae4129f664c22895ef264496d118 (patch)
tree52b76638ae114300b3604c84fd608e2482611642 /sys/netinet
parenta8b0ff721ade25215f688e760c87542c84a6651a (diff)
downloadFreeBSD-src-c0fa0ea25ea7ae4129f664c22895ef264496d118.zip
FreeBSD-src-c0fa0ea25ea7ae4129f664c22895ef264496d118.tar.gz
Maintain consistent behavior: make fib4_lookup_nh_ext() return
rt_ifp pointer by default, as done by other fib lookup functions.
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/in_fib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/netinet/in_fib.c b/sys/netinet/in_fib.c
index c8e6c96..451b3747 100644
--- a/sys/netinet/in_fib.c
+++ b/sys/netinet/in_fib.c
@@ -97,7 +97,10 @@ fib4_rte_to_nh_extended(struct rtentry *rte, struct in_addr dst,
struct sockaddr_in *gw;
struct in_ifaddr *ia;
- pnh4->nh_ifp = rte->rt_ifa->ifa_ifp;
+ if ((flags & NHR_IFAIF) != 0)
+ pnh4->nh_ifp = rte->rt_ifa->ifa_ifp;
+ else
+ pnh4->nh_ifp = rte->rt_ifp;
pnh4->nh_mtu = min(rte->rt_mtu, rte->rt_ifp->if_mtu);
if (rte->rt_flags & RTF_GATEWAY) {
gw = (struct sockaddr_in *)rte->rt_gateway;
OpenPOWER on IntegriCloud