Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 1 | From 508dc60a1f0758ebc586b6b086478a176d493086 Mon Sep 17 00:00:00 2001 |
| 2 | From: Jian Liang <jianliang@tycoint.com> |
| 3 | Date: Thu, 5 Oct 2017 09:34:41 +0100 |
| 4 | Subject: [PATCH 1/4] inet: Add prefixlen to iproute_default_function |
| 5 | To: connman@lists.01.org |
| 6 | Cc: wagi@monom.org |
| 7 | |
| 8 | Add prefixlen parameter to this function in preparation for using |
| 9 | it also in creating subnet route later, e.g. |
| 10 | |
| 11 | default via 192.168.100.1 dev eth0 |
| 12 | 192.168.100.0/24 dev eth0 |
| 13 | |
| 14 | Signed-off-by: Jian Liang <jianliang@tycoint.com> |
| 15 | |
| 16 | --- |
| 17 | Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=edda5b695de2ee79f02314abc9b46fdd46b388e1] |
| 18 | Signed-off-by: André Draszik <andre.draszik@jci.com> |
| 19 | src/inet.c | 7 ++++--- |
| 20 | 1 file changed, 4 insertions(+), 3 deletions(-) |
| 21 | |
| 22 | diff --git a/src/inet.c b/src/inet.c |
| 23 | index b887aa0..ab8aec8 100644 |
| 24 | --- a/src/inet.c |
| 25 | +++ b/src/inet.c |
| 26 | @@ -2796,7 +2796,7 @@ int __connman_inet_del_fwmark_rule(uint32_t table_id, int family, uint32_t fwmar |
| 27 | } |
| 28 | |
| 29 | static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex, |
| 30 | - const char *gateway) |
| 31 | + const char *gateway, unsigned char prefixlen) |
| 32 | { |
| 33 | struct __connman_inet_rtnl_handle rth; |
| 34 | unsigned char buf[sizeof(struct in6_addr)]; |
| 35 | @@ -2829,6 +2829,7 @@ static int iproute_default_modify(int cmd, uint32_t table_id, int ifindex, |
| 36 | rth.req.u.r.rt.rtm_protocol = RTPROT_BOOT; |
| 37 | rth.req.u.r.rt.rtm_scope = RT_SCOPE_UNIVERSE; |
| 38 | rth.req.u.r.rt.rtm_type = RTN_UNICAST; |
| 39 | + rth.req.u.r.rt.rtm_dst_len = prefixlen; |
| 40 | |
| 41 | __connman_inet_rtnl_addattr_l(&rth.req.n, sizeof(rth.req), RTA_GATEWAY, |
| 42 | buf, len); |
| 43 | @@ -2860,7 +2861,7 @@ int __connman_inet_add_default_to_table(uint32_t table_id, int ifindex, |
| 44 | { |
| 45 | /* ip route add default via 1.2.3.4 dev wlan0 table 1234 */ |
| 46 | |
| 47 | - return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway); |
| 48 | + return iproute_default_modify(RTM_NEWROUTE, table_id, ifindex, gateway, 0); |
| 49 | } |
| 50 | |
| 51 | int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex, |
| 52 | @@ -2868,7 +2869,7 @@ int __connman_inet_del_default_from_table(uint32_t table_id, int ifindex, |
| 53 | { |
| 54 | /* ip route del default via 1.2.3.4 dev wlan0 table 1234 */ |
| 55 | |
| 56 | - return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway); |
| 57 | + return iproute_default_modify(RTM_DELROUTE, table_id, ifindex, gateway, 0); |
| 58 | } |
| 59 | |
| 60 | int __connman_inet_get_interface_ll_address(int index, int family, |
| 61 | -- |
| 62 | 2.7.4 |
| 63 | |