summaryrefslogtreecommitdiff
path: root/usr/src/cmd/cmd-inet/usr.sbin/in.routed/input.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/cmd-inet/usr.sbin/in.routed/input.c')
-rw-r--r--usr/src/cmd/cmd-inet/usr.sbin/in.routed/input.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/usr/src/cmd/cmd-inet/usr.sbin/in.routed/input.c b/usr/src/cmd/cmd-inet/usr.sbin/in.routed/input.c
index 6d1f95a468..8d12d005ef 100644
--- a/usr/src/cmd/cmd-inet/usr.sbin/in.routed/input.c
+++ b/usr/src/cmd/cmd-inet/usr.sbin/in.routed/input.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*
* Copyright (c) 1983, 1988, 1993
@@ -103,7 +103,11 @@ receiving_interface(struct msghdr *msg, boolean_t findremote)
* IP_RECVIF index we requested), try to deduce the receiving
* interface based on the source address of the packet.
*/
- return (iflookup(from->sin_addr.s_addr));
+ ifp = iflookup(from->sin_addr.s_addr);
+ if (ifp != NULL && ifp->int_phys != NULL) {
+ ifp = ifwithname(ifp->int_phys->phyi_name);
+ }
+ return (ifp);
}
/*
@@ -1121,7 +1125,6 @@ input_route(in_addr_t dst, /* network order */
*/
rts0 = rt->rt_spares;
- trace_misc("rt 0x%lx num_spares %d", rt, rt->rt_num_spares);
for (rts = rts0, i = rt->rt_num_spares; i != 0; i--, rts++) {
if (rts->rts_router == new->rts_router)
break;