]> git.puffer.fish Git - mirror/frr.git/commit
zebra: zebra-use-fixed-metric-cost.patch
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 20 May 2015 00:40:35 +0000 (17:40 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 20 May 2015 00:40:35 +0000 (17:40 -0700)
commit1f5705f0423adb21f63392848f488cfbf2e71900
treec0a809269631d85417093f11283a6be3d19c9fed
parent73ac816057d972d9d13236fbe1a740167ad26f37
zebra: zebra-use-fixed-metric-cost.patch

Zebra: Use a fixed route metric when populating kernel

The route metric is not used by the Linux kernel and is irrelevant to
the forwarding decision made by the kernel. Metric is a parameter used
only by a routing protocol to compute best path(s) and to communicate this
info to its peers. Consequently, there is no value in pushing the metric
provided by a protocol daemon to the kernel.

There is a significant advantage, at least on the Linux kernel, in pushing
a constant metric with a route populated by zebra. The metric is used as a
priority field in the kernel and modifying the metric due to say topology
changes causes multiple routes to be inserted into the kernel, with differing
priorities instead of replacing the existing one. This prevents us from
using replace semantic when a route changes.

So, this patch pushes a constant metric with a route populated by zebra.
zebra/rt_netlink.c
zebra/rt_netlink.h