diff options
Diffstat (limited to 'src/ip6-manager')
| -rw-r--r-- | src/ip6-manager/Makefile.in | 24 | ||||
| -rw-r--r-- | src/ip6-manager/nm-ip6-manager.c | 14 |
2 files changed, 37 insertions, 1 deletions
diff --git a/src/ip6-manager/Makefile.in b/src/ip6-manager/Makefile.in index 7c398962..833245b0 100644 --- a/src/ip6-manager/Makefile.in +++ b/src/ip6-manager/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -16,6 +16,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -94,6 +111,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libip6_manager_la_SOURCES) DIST_SOURCES = $(libip6_manager_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) diff --git a/src/ip6-manager/nm-ip6-manager.c b/src/ip6-manager/nm-ip6-manager.c index e452c18e..4432aa5c 100644 --- a/src/ip6-manager/nm-ip6-manager.c +++ b/src/ip6-manager/nm-ip6-manager.c @@ -921,6 +921,14 @@ process_route_change (NMIP6Manager *manager, struct nl_msg *msg) 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)); old_size = nl_cache_nitems (priv->route_cache); @@ -1523,6 +1531,12 @@ nm_ip6_manager_get_ip6_config (NMIP6Manager *manager, int ifindex) 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; |