diff options
author | ru <ru@FreeBSD.org> | 2001-10-17 11:23:59 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2001-10-17 11:23:59 +0000 |
commit | 3897ad5e6e77754bf14bd09db9271dc4dc20cd4d (patch) | |
tree | c44fab896e52ab674b921d0b4f2825898ab98c90 /sys/net/rtsock.c | |
parent | 8f76483e54209b0c4510f0a880f6adea0a5614a3 (diff) | |
download | FreeBSD-src-3897ad5e6e77754bf14bd09db9271dc4dc20cd4d.zip FreeBSD-src-3897ad5e6e77754bf14bd09db9271dc4dc20cd4d.tar.gz |
Bring in latest CSRG revisions to this file:
- Report destination address of a P2P link when servicing
routing socket messages.
- Report interface name, address, and destination address
of a P2P link when servicing NET_RT_{DUMP,FLAGS} sysctls.
Part of CSRG revision 8.6 coresponds to revision 1.12.
CSRG revision 8.7 corresponds to revision 1.15.
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r-- | sys/net/rtsock.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 762b91c..efd7d57 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)rtsock.c 8.5 (Berkeley) 11/2/94 + * @(#)rtsock.c 8.7 (Berkeley) 10/12/95 * $FreeBSD$ */ @@ -385,6 +385,8 @@ route_output(m, so) if (ifp) { ifpaddr = TAILQ_FIRST(&ifp->if_addrhead)->ifa_addr; ifaaddr = rt->rt_ifa->ifa_addr; + if (ifp->if_flags & IFF_POINTOPOINT) + brdaddr = rt->rt_ifa->ifa_dstaddr; rtm->rtm_index = ifp->if_index; } else { ifpaddr = 0; @@ -889,6 +891,12 @@ sysctl_dumpentry(rn, vw) gate = rt->rt_gateway; netmask = rt_mask(rt); genmask = rt->rt_genmask; + if (rt->rt_ifp) { + ifpaddr = TAILQ_FIRST(&rt->rt_ifp->if_addrhead)->ifa_addr; + ifaaddr = rt->rt_ifa->ifa_addr; + if (rt->rt_ifp->if_flags & IFF_POINTOPOINT) + brdaddr = rt->rt_ifa->ifa_dstaddr; + } size = rt_msg2(RTM_GET, &info, 0, w); if (w->w_req && w->w_tmem) { register struct rt_msghdr *rtm = (struct rt_msghdr *)w->w_tmem; |