aboutsummaryrefslogtreecommitdiffstats
path: root/main/pingu/0001-pingu_route-allow-default-routes-that-has-no-via-add.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/pingu/0001-pingu_route-allow-default-routes-that-has-no-via-add.patch')
-rw-r--r--main/pingu/0001-pingu_route-allow-default-routes-that-has-no-via-add.patch60
1 files changed, 0 insertions, 60 deletions
diff --git a/main/pingu/0001-pingu_route-allow-default-routes-that-has-no-via-add.patch b/main/pingu/0001-pingu_route-allow-default-routes-that-has-no-via-add.patch
deleted file mode 100644
index 013fae46cc..0000000000
--- a/main/pingu/0001-pingu_route-allow-default-routes-that-has-no-via-add.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From f63ef90aefd8142c7b2ea2e3cd1abae375fc46b5 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 1 Aug 2012 12:03:05 +0000
-Subject: [PATCH] pingu_route: allow default routes that has no via address
-
-This fixes load-balancing with ppp0
-
-We also make the via address family (ipv4/ipv6) agnostic.
----
- pingu_netlink.c | 10 ++++++----
- pingu_route.c | 3 +--
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/pingu_netlink.c b/pingu_netlink.c
-index e3afbf6..dc4a2ed 100644
---- a/pingu_netlink.c
-+++ b/pingu_netlink.c
-@@ -138,7 +138,7 @@ static int netlink_add_subrtattr_l(struct rtattr *rta, int maxlen, int type,
- subrta->rta_len = len;
- memcpy(RTA_DATA(subrta), data, alen);
- rta->rta_len = NLMSG_ALIGN(rta->rta_len) + RTA_ALIGN(len);
-- return TRUE;
-+ return alen;
- }
-
- static int netlink_add_subrtattr_addr_any(struct rtattr *rta, int maxlen,
-@@ -346,11 +346,13 @@ static int add_one_nh(struct rtattr *rta, struct rtnexthop *rtnh,
- struct pingu_iface *iface,
- struct pingu_route *route)
- {
-+ int addr_size;
- if (route == NULL)
- return 0;
-- netlink_add_subrtattr_addr_any(rta, 1024, RTA_GATEWAY,
-- &route->gw_addr);
-- rtnh->rtnh_len += sizeof(struct rtattr) + 4; // TODO: support ipv6
-+ addr_size = netlink_add_subrtattr_addr_any(rta, 1024, RTA_GATEWAY,
-+ &route->gw_addr);
-+ if (addr_size > 0)
-+ rtnh->rtnh_len += sizeof(struct rtattr) + addr_size;
- if (iface->balance_weight)
- rtnh->rtnh_hops = iface->balance_weight - 1;
- rtnh->rtnh_ifindex = iface->index;
-diff --git a/pingu_route.c b/pingu_route.c
-index 3a82f70..a2462c1 100644
---- a/pingu_route.c
-+++ b/pingu_route.c
-@@ -126,8 +126,7 @@ int is_default_gw(struct pingu_route *route)
- {
- switch (route->dest.sa.sa_family) {
- case AF_INET:
-- return ((route->dest.sin.sin_addr.s_addr == 0)
-- && (route->gw_addr.sin.sin_addr.s_addr != 0));
-+ return (route->dest.sin.sin_addr.s_addr == 0);
- break;
- case AF_INET6:
- log_debug("TODO: ipv6");
---
-1.7.11.2
-