summaryrefslogtreecommitdiff
path: root/package/ppp/patches/340-populate_default_gateway.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/ppp/patches/340-populate_default_gateway.patch')
-rw-r--r--package/ppp/patches/340-populate_default_gateway.patch34
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 9a0284e..0000000
--- 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");