+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
-@@ -1673,6 +1673,9 @@ int sifdefaultroute (int unit, u_int32_t
+@@ -1697,6 +1697,9 @@ int sifdefaultroute (int unit, u_int32_t
memset (&rt, 0, sizeof (rt));
SET_SA_FAMILY (rt.rt_dst, AF_INET);
rt.rt_dev = ifname;
if (kernel_version > KVERSION(2,1,0)) {
-@@ -1680,7 +1683,7 @@ int sifdefaultroute (int unit, u_int32_t
+@@ -1704,7 +1707,7 @@ int sifdefaultroute (int unit, u_int32_t
SIN_ADDR(rt.rt_genmask) = 0L;
}