Author: qingli
Date: Fri Dec 19 01:37:20 2008
New Revision: 186308
URL: http://svn.freebsd.org/changeset/base/186308

Log:
  The ppp application relies on the if_tun interface to properly
  install a p2p host route between the end points. The ppp module
  upates this router based on user configuration later on. The
  rt_Update() seems to always set the RTF_GATEWAY flag, which is
  broken.

Modified:
  head/usr.sbin/ppp/route.c

Modified: head/usr.sbin/ppp/route.c
==============================================================================
--- head/usr.sbin/ppp/route.c   Fri Dec 19 00:56:47 2008        (r186307)
+++ head/usr.sbin/ppp/route.c   Fri Dec 19 01:37:20 2008        (r186308)
@@ -910,8 +910,10 @@ rt_Update(struct bundle *bundle, const s
     p += memcpy_roundup(p, dst, dst->sa_len);
   }
 
-  rtmes.m_rtm.rtm_addrs |= RTA_GATEWAY;
+  if (gw != NULL && (gw->sa_family != AF_LINK))
+    rtmes.m_rtm.rtm_addrs |= RTA_GATEWAY;
   p += memcpy_roundup(p, gw, gw->sa_len);
+
   if (mask) {
     rtmes.m_rtm.rtm_addrs |= RTA_NETMASK;
     p += memcpy_roundup(p, mask, mask->sa_len);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to