netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Fix routing metrics
@ 2012-03-01  6:21 Steffen Klassert
  2012-03-01  6:22 ` [PATCH 1/2] inetpeer: Invalidate the inetpeer tree along with the routing cache Steffen Klassert
  2012-03-01  6:23 ` [PATCH 2/2] route: Remove redirect_genid Steffen Klassert
  0 siblings, 2 replies; 7+ messages in thread
From: Steffen Klassert @ 2012-03-01  6:21 UTC (permalink / raw)
  To: David Miller; +Cc: timo.teras, netdev

At the moment we initialize the routing metrics with the, on the inetpeer
cached values in rt_init_metrics(). So if we have the metrics cached on
the inetpeer, we ignore the user configured fib_metrics. This leads to
the fact that we can't configure the mtu, hoplimit etc. if we have learned
metrics cached.

The first patch invalidates the inetpeer tree along routing cache,
so all the cached metrics are not used any more after that.
This is done by replacing the old tree with a fresh initialized
inet_peer_base when rt_cache_invalidate() is invoked. The old tree
is added to a garbage collector list and destroyed later with a delayed
work queue. I use a delay of 60 seconds, so rt_check_expire() ran at least
on time before on a default configuration.

The second patch removes the redirect_genid handling. We don't need this
any more because we remove the whole inetpeer tree when the redirects
are invalidated.

^ permalink raw reply	[flat|nested] 7+ messages in thread
* [PATCH v3 0/2] Fix routing metrics
@ 2012-03-07  7:19 Steffen Klassert
  2012-03-07  7:21 ` [PATCH 2/2] route: Remove redirect_genid Steffen Klassert
  0 siblings, 1 reply; 7+ messages in thread
From: Steffen Klassert @ 2012-03-07  7:19 UTC (permalink / raw)
  To: David Miller; +Cc: timo.teras, netdev

At the moment we initialize the routing metrics with the, on the inetpeer
cached values in rt_init_metrics(). So if we have the metrics cached on
the inetpeer, we ignore the user configured fib_metrics. This leads to
the fact that we can't configure the mtu, hoplimit etc. if we have learned
metrics cached.

The first patch invalidates the inetpeer tree along routing cache.
This is done by replacing the old tree with a fresh initialized
inet_peer_base when rt_cache_invalidate() is invoked. The old tree
is added to a garbage collector list and destroyed later with a delayed
work queue. I use a delay of 60 seconds, so rt_check_expire() ran at least
on time before on a default configuration.

The second patch removes the redirect_genid handling. We don't need this
any more because we remove the whole inetpeer tree when the redirects
are invalidated.

Changes from v2:

- Fix possible null pointer dereference in ip_rt_redirect()

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-03-08  8:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-01  6:21 [PATCH v2 0/2] Fix routing metrics Steffen Klassert
2012-03-01  6:22 ` [PATCH 1/2] inetpeer: Invalidate the inetpeer tree along with the routing cache Steffen Klassert
2012-03-01  6:23 ` [PATCH 2/2] route: Remove redirect_genid Steffen Klassert
2012-03-05  2:55   ` David Miller
2012-03-06  8:06     ` Steffen Klassert
2012-03-07  7:19 [PATCH v3 0/2] Fix routing metrics Steffen Klassert
2012-03-07  7:21 ` [PATCH 2/2] route: Remove redirect_genid Steffen Klassert
2012-03-08  8:31   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).