diff options
author | Dan Winship <danw@gnome.org> | 2014-05-08 14:50:02 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2014-06-06 10:24:43 -0400 |
commit | 662ade1e47bf2612dbd0087804441a854cc4122a (patch) | |
tree | af68fefeae1ef21b9bc81178005a99fa731369c9 /src/nm-policy.c | |
parent | e644745d85a20529c6bbb0f6f479acfa45edca86 (diff) | |
download | NetworkManager-662ade1e47bf2612dbd0087804441a854cc4122a.tar.gz |
platform: improve tracking of route sources
NMIP[46]Route had a "source" field, but it was always set to KERNEL
for routes read from the kernel (even if they were originally added by
NM).
Fix things a bit by translating between our "source" field and the
kernel's "protocol" field.
https://bugzilla.gnome.org/show_bug.cgi?id=729203
Diffstat (limited to 'src/nm-policy.c')
-rw-r--r-- | src/nm-policy.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/nm-policy.c b/src/nm-policy.c index 13099e3693..f307f999c6 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -658,13 +658,13 @@ update_ip4_routing (NMPolicy *policy, gboolean force_update) if (ip_ifindex <= 0) ip_ifindex = parent_ifindex; - if (!nm_platform_ip4_route_add (ip_ifindex, + if (!nm_platform_ip4_route_add (ip_ifindex, NM_PLATFORM_SOURCE_VPN, 0, 0, int_gw, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) { - (void) nm_platform_ip4_route_add (parent_ifindex, + (void) nm_platform_ip4_route_add (parent_ifindex, NM_PLATFORM_SOURCE_VPN, gw_addr, 32, 0, NM_PLATFORM_ROUTE_METRIC_DEFAULT, parent_mss); - if (!nm_platform_ip4_route_add (ip_ifindex, + if (!nm_platform_ip4_route_add (ip_ifindex, NM_PLATFORM_SOURCE_VPN, 0, 0, int_gw, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) nm_log_err (LOGD_IP4 | LOGD_VPN, "Failed to set default route."); @@ -675,13 +675,13 @@ update_ip4_routing (NMPolicy *policy, gboolean force_update) int mss = nm_ip4_config_get_mss (ip4_config); g_assert (ip_iface); - if (!nm_platform_ip4_route_add (ip_ifindex, + if (!nm_platform_ip4_route_add (ip_ifindex, NM_PLATFORM_SOURCE_USER, 0, 0, gw_addr, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) { - (void) nm_platform_ip4_route_add (ip_ifindex, + (void) nm_platform_ip4_route_add (ip_ifindex, NM_PLATFORM_SOURCE_USER, gw_addr, 32, 0, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss); - if (!nm_platform_ip4_route_add (ip_ifindex, + if (!nm_platform_ip4_route_add (ip_ifindex, NM_PLATFORM_SOURCE_USER, 0, 0, gw_addr, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) { nm_log_err (LOGD_IP4, "Failed to set default route."); @@ -864,13 +864,13 @@ update_ip6_routing (NMPolicy *policy, gboolean force_update) if (ip_ifindex <= 0) ip_ifindex = parent_ifindex; - if (!nm_platform_ip6_route_add (ip_ifindex, + if (!nm_platform_ip6_route_add (ip_ifindex, NM_PLATFORM_SOURCE_VPN, in6addr_any, 0, *int_gw, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) { - (void) nm_platform_ip6_route_add (parent_ifindex, + (void) nm_platform_ip6_route_add (parent_ifindex, NM_PLATFORM_SOURCE_VPN, *gw_addr, 128, in6addr_any, NM_PLATFORM_ROUTE_METRIC_DEFAULT, parent_mss); - if (!nm_platform_ip6_route_add (ip_ifindex, + if (!nm_platform_ip6_route_add (ip_ifindex, NM_PLATFORM_SOURCE_VPN, in6addr_any, 0, *int_gw, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) { nm_log_err (LOGD_IP6 | LOGD_VPN, "Failed to set default route."); @@ -881,13 +881,13 @@ update_ip6_routing (NMPolicy *policy, gboolean force_update) } else { int mss = nm_ip6_config_get_mss (ip6_config); - if (!nm_platform_ip6_route_add (ip_ifindex, + if (!nm_platform_ip6_route_add (ip_ifindex, NM_PLATFORM_SOURCE_USER, in6addr_any, 0, *gw_addr, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) { - (void) nm_platform_ip6_route_add (ip_ifindex, + (void) nm_platform_ip6_route_add (ip_ifindex, NM_PLATFORM_SOURCE_USER, *gw_addr, 128, in6addr_any, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss); - if (!nm_platform_ip6_route_add (ip_ifindex, + if (!nm_platform_ip6_route_add (ip_ifindex, NM_PLATFORM_SOURCE_USER, in6addr_any, 0, *gw_addr, NM_PLATFORM_ROUTE_METRIC_DEFAULT, mss)) nm_log_err (LOGD_IP6, "Failed to set default route."); |