diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-08-25 23:10:40 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-08-25 23:10:40 +0000 |
commit | ede4197f5e7f52d11ef6ab5e95a6b4c41617a197 (patch) | |
tree | 9137a50d2361e6fe32bf3decaf6040784840b2ba /package/ppp/patches/340-populate_default_gateway.patch | |
parent | 93019f87807a2ee23d724e8fac4daefe7683e49f (diff) |
[package] ppp: populate gateway of default route with peer address (#6259)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22806 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/ppp/patches/340-populate_default_gateway.patch')
-rw-r--r-- | package/ppp/patches/340-populate_default_gateway.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/package/ppp/patches/340-populate_default_gateway.patch b/package/ppp/patches/340-populate_default_gateway.patch new file mode 100644 index 0000000000..ca11206c4d --- /dev/null +++ b/package/ppp/patches/340-populate_default_gateway.patch @@ -0,0 +1,21 @@ +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -1673,6 +1673,9 @@ int sifdefaultroute (int unit, u_int32_t + memset (&rt, 0, sizeof (rt)); + SET_SA_FAMILY (rt.rt_dst, AF_INET); + ++ SET_SA_FAMILY(rt.rt_gateway, AF_INET); ++ SIN_ADDR(rt.rt_gateway) = gateway; ++ + rt.rt_dev = ifname; + + if (kernel_version > KVERSION(2,1,0)) { +@@ -1680,7 +1683,7 @@ int sifdefaultroute (int unit, u_int32_t + SIN_ADDR(rt.rt_genmask) = 0L; + } + +- rt.rt_flags = RTF_UP; ++ rt.rt_flags = RTF_UP | RTF_GATEWAY; + if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) { + if (!ok_error(errno)) + error("default route ioctl(SIOCADDRT): %m"); |