From 69e44dbd65022908ffb5e364ae71f2ad98078e88 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Tue, 11 Sep 2012 19:08:51 +0200 Subject: Don't create static IPv6 routes for cached/cloned routes. (Closes: #686328) * debian/patches/15-ignore-cached-cloned-routes-ipv6-config.patch, Don't create static IPv6 routes for cached/cloned routes. Patches debian/patches/16-ignore-cached-cloned-routes-kernel-notifications.patch: cherry-picked from upstream Git. (Closes: #686328) --- debian/changelog | 4 +++ ...5-ignore-cached-cloned-routes-ipv6-config.patch | 29 ++++++++++++++++++++++ ...cached-cloned-routes-kernel-notifications.patch | 24 ++++++++++++++++++ debian/patches/series | 2 ++ 4 files changed, 59 insertions(+) create mode 100644 debian/patches/15-ignore-cached-cloned-routes-ipv6-config.patch create mode 100644 debian/patches/16-ignore-cached-cloned-routes-kernel-notifications.patch (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index e1acb571..64312f49 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,10 @@ network-manager (0.9.4.0-6) UNRELEASED; urgency=low * debian/rules: Use xz compression for binary packages. + * debian/patches/15-ignore-cached-cloned-routes-ipv6-config.patch, + debian/patches/16-ignore-cached-cloned-routes-kernel-notifications.patch: + Don't create static IPv6 routes for cached/cloned routes. Patches + cherry-picked from upstream Git. (Closes: #686328) -- Michael Biebl Tue, 11 Sep 2012 18:15:49 +0200 diff --git a/debian/patches/15-ignore-cached-cloned-routes-ipv6-config.patch b/debian/patches/15-ignore-cached-cloned-routes-ipv6-config.patch new file mode 100644 index 00000000..ab076ca6 --- /dev/null +++ b/debian/patches/15-ignore-cached-cloned-routes-ipv6-config.patch @@ -0,0 +1,29 @@ +From 3ca3120e4a01ea4a86fd052311c977e7ec136365 Mon Sep 17 00:00:00 2001 +From: Ben Jencks +Date: Thu, 30 Aug 2012 18:55:36 +0000 +Subject: ip6: ignore cached/cloned route notifications from the kernel (lp:1038541) (bgo #671767) + +The kernel periodically adds routes for specific operations, including +when pinging any host. These are temporary routes and aren't part of +the interface's permanent routing configuration, so we should ignore +them. +--- +Index: network-manager/src/ip6-manager/nm-ip6-manager.c +=================================================================== +--- network-manager.orig/src/ip6-manager/nm-ip6-manager.c 2012-08-31 09:19:54.000000000 +0200 ++++ network-manager/src/ip6-manager/nm-ip6-manager.c 2012-08-31 09:56:24.000000000 +0200 +@@ -602,6 +602,14 @@ + return NULL; + } + ++ /* Cached/cloned routes are created by the kernel for specific operations ++ * and aren't part of the interface's permanent routing configuration. ++ */ ++ if (rtnl_route_get_flags (rtnlroute) & RTM_F_CLONED) { ++ rtnl_route_put (rtnlroute); ++ return NULL; ++ } ++ + device = nm_ip6_manager_get_device (manager, rtnl_route_get_oif (rtnlroute)); + if (!device) { + nm_log_dbg (LOGD_IP6, "ignoring message for unknown device"); diff --git a/debian/patches/16-ignore-cached-cloned-routes-kernel-notifications.patch b/debian/patches/16-ignore-cached-cloned-routes-kernel-notifications.patch new file mode 100644 index 00000000..264ae9b7 --- /dev/null +++ b/debian/patches/16-ignore-cached-cloned-routes-kernel-notifications.patch @@ -0,0 +1,24 @@ +From 46e0af2942e23fb3cf1c313e58e4081877d4f289 Mon Sep 17 00:00:00 2001 +From: Dan Williams +Date: Thu, 30 Aug 2012 18:57:06 +0000 +Subject: ip6: ignore cached/cloned routes when retrieving IPv6 config (lp:1038541) (bgo #671767) + +Should also ignore them when building up the initial IPv6 config. +--- +Index: network-manager/src/ip6-manager/nm-ip6-manager.c +=================================================================== +--- network-manager.orig/src/ip6-manager/nm-ip6-manager.c 2012-08-31 09:56:03.000000000 +0200 ++++ network-manager/src/ip6-manager/nm-ip6-manager.c 2012-08-31 09:56:03.000000000 +0200 +@@ -1284,6 +1284,12 @@ + if (rtnl_route_get_family (rtnlroute) != AF_INET6) + continue; + ++ /* And ignore cache/cloned routes as they aren't part of the interface's ++ * permanent routing configuration. ++ */ ++ if (rtnl_route_get_flags (rtnlroute) & RTM_F_CLONED) ++ continue; ++ + nldest = rtnl_route_get_dst (rtnlroute); + if (!nldest || nl_addr_get_family (nldest) != AF_INET6) + continue; diff --git a/debian/patches/series b/debian/patches/series index 134267a8..9ee2e2f0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,3 +6,5 @@ 12-initialize-gerror.patch 13-dont-replace-kernel-default-route-for-IPv6.patch 14-use-same-kernel-API-as-wpa_supplicant.patch +15-ignore-cached-cloned-routes-ipv6-config.patch +16-ignore-cached-cloned-routes-kernel-notifications.patch -- cgit 1.3.0-6-gf8a5