[quagga-dev 11670] link detect enable
paul at jakma.org
Tue Oct 28 14:49:49 GMT 2014
I have been wrapped on the knuckles for cherry-picking a commit from the
Cumulus tree and committing it, as it hadn't been posted to the list. My
bad, I'm still getting used to the new regime and patchwork, etc. Sorry on
that, won't do it again, honest!
The patch is at the end, below.
I committed based on the fact that I had originally wanted to set
link-detect /ages/ ago, but was blocked waiting on the BSD link-state
support. When that came (effectively also ages ago), link-detect default
was not revisited (I guess).
It's been pointed out to me that changing to default link-detect on could
break things for users who have service IP addresses that are on physical
interfaces. Such IPs today will still be advertised in OSPF even if the
iface has a problem, but with link-detect on wouldn't be.
So, there's a bit of a dilemma: I think we really should act on interface
state by default. I think it's probably what most people expect and want
in a sensible setup, and they're probably surprised when it doesn't.
On the other hand, setting it on is a change in behaviour. There are
setups that might break. Even if those setups are somewhat flawed.
E.g., having a service IP on a physical interface is not the best practice
and that IP is not generally reroutable. For non-trivial routed networks,
there may be parts of the networks that can not reach the IP when its
iface is down, even if it still reachable from others. In my experience
(learned the hard way ;) ), the administrator will eventually learn they
need to put service IPs on loopback (or some other virtual interface).
Changing behaviour is generally something that should not be done lightly.
Breaking working setups is bad. However, not having link-detect on by
default punishes each new user anew.
Those who would be affected by link-detect being set by default may have
broken setups that they will end up reconfiguring soon anyway.
So the question is, should this patch be reverted, or should it be kept
and the change in behaviour better documented for the next release?
Author: Dinesh G Dutt <ddutt at cumulusnetworks.com>
Date: Tue Sep 30 12:39:24 2014 -0700
zebra: Set link-detect on by default
Signed-off-by: Roopa Prabhu <roopa at cumulusnetworks.com>
Reviewed-by: Dinesh G Dutt <ddutt at cumulusnetworks.com>
Reviewed-by: Scott Feldman <sfeldma at cumulusnetworks.com>
diff --git a/lib/if.c b/lib/if.c
index 3a1f9b4..2b46a1b 100644
@@ -132,6 +132,9 @@ if_create (const char *name, int namelen)
ifp->connected = list_new ();
ifp->connected->del = (void (*) (void *)) connected_free;
+ /* Enable Link-detection by default */
+ SET_FLAG(ifp->status, ZEBRA_INTERFACE_LINKDETECTION);
Paul Jakma paul at jakma.org @pjakma Key ID: 64A2FF6A
Profanity is the one language all programmers know best.
More information about the Quagga-dev