Re: Backup learning advertising interval?

Quentin Armitage <[email protected]> Tue, 17 Jul 2018 11:14:26 +0100
Newsgroups gmane.linux.keepalived.devel
Organization The Armitage family
Message-ID <[email protected]>
--===============6449492192916375287==
Content-Type: multipart/alternative; boundary="=-jxiThQO5U6WMCAeir6S0"


--=-jxiThQO5U6WMCAeir6S0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

On Fri, 2018-07-13 at 14:56 +0100, Paul Gildea wrote:
> I see on Cisco routers they have the ability to set backups to learn
> the advertising interval of the master. They use their own
> implementation of keepalived. Is this something also available via
> keepalived or not? I don't see mention of it, so I'm guessing it's
> not there.
> vrrp group timers learn 
> 
> 
> Example:Router(config-if)# vrrp 10 timers learn Configures the
> router, when it is acting as virtual router backup for a VRRP group,
> to learn the advertisement interval used by the virtual router
> master.
> Regards,
> 

Paul,

So far as I can see from the Cisco documentation, vrrp group timers
learn is something that Cisco have added to their VRRPv2
implementation.

In the VRRPv2 RFC (RFC3768) it states: The Advertisement interval
indicates the time interval (in seconds) between ADVERTISEMENTS.  The
default is 1 second.  This field is used for troubleshooting
misconfigured routers. In other words, the advertised advertisement
interval is not used within the protocol.

In the VRRPv3 RFC (RFC5798) it states: Advertisement interval contained
in ADVERTISEMENTS received from the Master (centiseconds).  This value
is saved by
virtual routers in the Backup state and used to compute Skew_Time
and Master_Down_Interval.  The initial value is the same as
Advertisement_Interval. In other words, for VRRPv3 the advertised
advert interval is used by backup routers to determine master down time
etc.

I assume that what Cisco have done is backport the VRRPv3 use of advert
interval to VRRPv2 with vrrp group timers learn.


Keepalived implements both VRRPv2 and VRRPv3, so if you want the backup
routers to learn the advert interval, then using VRRPv3 will provide
that functionality. At the moment I don't see any need to implement
learning of timers with VRRPv2 when it is available when using VRRPv3.
I wonder if Cisco implemented vrrp timers learn for VRRPv2 before they
had implemented VRRPv3. If someone can demonstrate sufficient need for
the equivalent of vrrp timers learn being added to the VRRPv2
implementation, then it should be possible to do.

Quentin Armitage
--=-jxiThQO5U6WMCAeir6S0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body bgcolor=3D"#ffffff" text=3D"#2e3436" link=3D"#2a76=
c6" vlink=3D"#2e3436"><div>On Fri, 2018-07-13 at 14:56 +0100, Paul Gildea w=
rote:</div><blockquote type=3D"cite" style=3D"margin:0 0 0 .8ex; border-lef=
t:2px #729fcf solid;padding-left:1ex"><div dir=3D"ltr">I see on Cisco route=
rs they have the ability to set backups to learn the advertising interval o=
f the master. They use their own implementation of keepalived. Is this some=
thing also available via keepalived or not? I don't see mention of it, so I=
'm guessing it's not there.<div><br></div><div><table border=3D"1" cellpadd=
ing=3D"3" cellspacing=3D"0" width=3D"90%" style=3D"margin:6px 0px;padding:0=
px;border:0px;font-variant-numeric:inherit;font-stretch:inherit;font-size:1=
4px;line-height:inherit;font-family:CiscoSans,Arial,sans-serif;vertical-ali=
gn:baseline;border-collapse:collapse;max-width:100%;overflow-x:auto;width:i=
nitial;color:rgb(88,88,91);overflow-y:visible"><tbody style=3D"margin:0px;p=
adding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:i=
nherit;font-stretch:inherit;font-size:inherit;line-height:inherit;font-fami=
ly:inherit;vertical-align:baseline"><tr style=3D"margin:0px;padding:0px;bor=
der:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-st=
retch:inherit;font-size:inherit;line-height:inherit;font-family:inherit;ver=
tical-align:baseline"><td align=3D"left" valign=3D"top" style=3D"padding:0p=
x 5px;border:1px solid rgb(198,199,202);font-style:inherit;font-variant:inh=
erit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-fami=
ly:inherit;vertical-align:top"><font size=3D"1"><span style=3D"margin:0px;p=
adding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:i=
nherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertica=
l-align:baseline"><span class=3D"gmail-synph" style=3D"margin:0px;padding:0=
px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;f=
ont-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:=
baseline"><span class=3D"gmail-kwd" style=3D"margin:0px;padding:0px;border:=
0px;font-style:inherit;font-variant:inherit;font-weight:700;font-stretch:in=
herit;line-height:inherit;font-family:inherit;vertical-align:baseline">vrrp=
</span>&nbsp;<span class=3D"gmail-var" style=3D"margin:0px;padding:0px;bord=
er:0px;font-style:oblique;font-variant:inherit;font-weight:inherit;font-str=
etch:inherit;line-height:inherit;font-family:inherit;vertical-align:baselin=
e">group</span>&nbsp;<span class=3D"gmail-kwd" style=3D"margin:0px;padding:=
0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:700;font=
-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:bas=
eline">timers</span>&nbsp;<span class=3D"gmail-kwd" style=3D"margin:0px;pad=
ding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:700=
;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-alig=
n:baseline">learn</span></span>&nbsp;</span><br><br><br><span style=3D"marg=
in:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-=
weight:700;font-stretch:inherit;line-height:inherit;font-family:inherit;ver=
tical-align:baseline">Example:</span></font><section class=3D"gmail-p" styl=
e=3D"margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inhe=
rit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-famil=
y:inherit;vertical-align:baseline"><pre class=3D"gmail-codeblock" style=3D"=
margin-top:0px;margin-bottom:20px;padding:0px;border:0px;font-style:inherit=
;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:=
inherit;vertical-align:baseline;max-width:100%;overflow-x:auto;overflow-y:v=
isible"><font size=3D"1">Router(config-if)# vrrp 10 timers learn</font></pr=
e></section><font size=3D"1">&nbsp;</font></td><td align=3D"left" valign=3D=
"top" style=3D"padding:0px 5px;border:1px solid rgb(198,199,202);font-style=
:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line=
-height:inherit;font-family:inherit;vertical-align:top"><p style=3D"margin:=
6px 0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font=
-stretch:inherit;line-height:1.4em;font-family:inherit;vertical-align:basel=
ine;word-wrap:break-word"><font size=3D"1">Configures the router, when it i=
s acting as virtual router backup for a VRRP group, to learn the advertisem=
ent interval used by the virtual router master.</font></p></td></tr></tbody=
></table><br></div><div>Regards,</div><div><br></div></div></blockquote><di=
v><div><br></div><div>Paul,</div><div><br></div><div>So far as I can see fr=
om the Cisco documentation, <i>vrrp group timers learn</i> is something tha=
t Cisco have added to their VRRPv2 implementation.</div><div><br></div><div=
>In the VRRPv2 RFC (RFC3768) it states:&nbsp;<i>The Advertisement interval =
indicates the time interval (in seconds)</i><i>&nbsp;between ADVERTISEMENTS=
.&nbsp;&nbsp;The default is 1 second.&nbsp;&nbsp;This field is used </i><i>=
for troubleshooting misconfigured routers</i>. In other words, the advertis=
ed advertisement interval is not used within the protocol.</div><div><br></=
div><div>In the VRRPv3 RFC (RFC5798) it states:&nbsp;<i>Advertisement inter=
val contained in </i><i>ADVERTISEMENTS received from the Master </i><i>(cen=
tiseconds).&nbsp;&nbsp;This value is saved by</i></div><div><i>virtual rout=
ers in the Backup state and </i><i>used to compute Skew_Time and</i><i>&nbs=
p;Master_Down_Interval.&nbsp;&nbsp;The initial value </i><i>is the same as =
Advertisement_Interval</i>. In other words, for VRRPv3 the advertised adver=
t interval is used by backup routers to determine master down time etc.</di=
v><div><br></div><div>I assume that what Cisco have done is backport the VR=
RPv3 use of advert interval to VRRPv2 with <i>vrrp group timers learn.</i><=
/div><div><i><br></i></div><div>Keepalived implements both VRRPv2 and VRRPv=
3, so if you want the backup routers to learn the advert interval, then usi=
ng VRRPv3 will provide that functionality. At the moment I don't see any ne=
ed to implement learning of timers with VRRPv2 when it is available when us=
ing VRRPv3. I wonder if Cisco implemented <i>vrrp timers learn</i> for VRRP=
v2 before they had implemented VRRPv3. If someone can demonstrate sufficien=
t need for the equivalent of <i>vrrp timers learn</i> being added to the VR=
RPv2 implementation, then it should be possible to do.</div><div><br></div>=
<div>Quentin Armitage</div></div></body></html>
--=-jxiThQO5U6WMCAeir6S0--



--===============6449492192916375287==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
--===============6449492192916375287==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel

--===============6449492192916375287==--