summaryrefslogtreecommitdiff
path: root/src/nm-policy.c
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2014-05-08 14:50:02 -0400
committerDan Winship <danw@gnome.org>2014-06-06 10:24:43 -0400
commit662ade1e47bf2612dbd0087804441a854cc4122a (patch)
treeaf68fefeae1ef21b9bc81178005a99fa731369c9 /src/nm-policy.c
parente644745d85a20529c6bbb0f6f479acfa45edca86 (diff)
downloadNetworkManager-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.c24
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.");