diff options
Diffstat (limited to 'package/ppp/patches/340-populate_default_gateway.patch')
-rw-r--r-- | package/ppp/patches/340-populate_default_gateway.patch | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/package/ppp/patches/340-populate_default_gateway.patch b/package/ppp/patches/340-populate_default_gateway.patch deleted file mode 100644 index 9a0284eb23..0000000000 --- a/package/ppp/patches/340-populate_default_gateway.patch +++ /dev/null @@ -1,34 +0,0 @@ -pppd: Fill in default gateway on Linux - -On Linux, when pppd creates the default route, it does not set the peer -address as gateway, leading to a default route without gateway address. - -This behaviour breaks various downstream programs which attempt to infer -the default gateway IP address from the system default route entry. - -This patch addresses the issue by filling in the peer address as gateway -when generating the default route entry. - -Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> - ---- a/pppd/sys-linux.c -+++ b/pppd/sys-linux.c -@@ -1697,6 +1697,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)) { -@@ -1704,7 +1707,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"); |