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> <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> <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> <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> </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"> </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: <i>The Advertisement interval = indicates the time interval (in seconds)</i><i> between ADVERTISEMENTS= . The default is 1 second. 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: <i>Advertisement inter= val contained in </i><i>ADVERTISEMENTS received from the Master </i><i>(cen= tiseconds). 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. 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==--