<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>Hi,<br class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">this is an OVS issue, already discussed:</div><div class=""><div class=""><br class=""></div><div class=""><a href="https://mail.openvswitch.org/pipermail/ovs-discuss/2016-November/043007.html" class="">https://mail.openvswitch.org/pipermail/ovs-discuss/2016-November/043007.html</a></div><div class="">...</div><div class=""><font color="#0068da" class=""><span style="caret-color: rgb(0, 104, 218);" class=""><u class=""><a href="https://mail.openvswitch.org/pipermail/ovs-discuss/2016-November/043063.html" class="">https://mail.openvswitch.org/pipermail/ovs-discuss/2016-November/043063.html</a></u></span></font></div><div class=""><font color="#0068da" class=""><span style="caret-color: rgb(0, 104, 218);" class=""><u class=""><br class=""></u></span></font></div><div class="">Official OVS quote:</div><div class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">><i class=""> We'd accept patches to improve OVS's routing table code.  It's not
</i>><i class=""> designed to scale to 1,800,000 routes.  We'd also take code to suppress
</i>><i class=""> the routing table code in cases where it isn't actually needed, since
</i>><i class=""> it's not always needed.  But we can't take a patch to just delete it;
</i>><i class=""> I'm sure you understand.</i></pre></div><div class="">I tried to apply this patch at that time, but was already useless for newer versions:</div><div class=""><br class=""></div><div class=""><font color="#0068da" class=""><span style="caret-color: rgb(0, 104, 218);" class=""><u class=""><a href="https://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20161123/5379b333/attachment.bin" class="">https://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20161123/5379b333/attachment.bin</a></u></span></font></div><div class=""><br class=""></div><div class="">Our workaround was to scale VM with 3 vCPU-s, since our average system load is 1.5 for BGP.</div><div class=""><br class=""></div><div class="">You can see what is happening:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">[root@bgp1 ~]# top</span></div></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">...</span></div><div class=""><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(171, 205, 239); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                           </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">  654 root      10 -10 1284492   1.0g  20276 R  98.0  27.0   2513:01 ovs-vswitchd                                                                                                                      </b></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">   16 root      20   0       0      0      0 S   2.0   0.0  24:45.60 ksoftirqd/1  </span></div></div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">[root@bgp1 ~]# ip route show</span></div></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">...</span></div><div class=""><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">1.0.0.0/24 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">1.0.4.0/24 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">1.0.4.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">1.0.5.0/24 via 89.212.47.185 dev t2-v24-ha proto bird</span></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Routes being constantly added and deleted:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">[root@bgp1 ~]# ip monitor</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">...</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 2620:11d:6000::/42 via 2a01:260:1021::1 dev t2-v26-ha proto bird metric 1024 pref medium</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">2620:11d:6000::/42 via 2a01:260:1021::1 dev t2-v26-ha proto bird metric 1024 pref medium</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 2620:11d:6000::/42 via 2a01:260:1021::1 dev t2-v26-ha proto bird metric 1024 pref medium</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">2620:11d:6000::/42 via 2a01:260:1021::1 dev t2-v26-ha proto bird metric 1024 pref medium</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 2620:11d:6000::/42 via 2a01:260:1021::1 dev t2-v26-ha proto bird metric 1024 pref medium</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">2620:11d:6000::/42 via 2a01:260:1021::1 dev t2-v26-ha proto bird metric 1024 pref medium</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 68.69.37.0/24 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">68.69.37.0/24 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 103.115.180.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">103.115.180.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 103.115.180.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">103.115.180.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 2.16.70.0/23 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 88.221.28.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 23.50.188.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 92.122.68.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 88.221.100.0/22 via 89.212.47.185 dev t2-v24-ha proto bird </span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Deleted 92.123.208.0/22 via 89.212.47.185 dev t2-v24-ha proto bird</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(171, 205, 239);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">..... </span></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Regards,</div><div class="">saso<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On 6 May 2019, at 19:30, Kees Meijs <<a href="mailto:kees@nefos.nl" class="">kees@nefos.nl</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi list,<br class=""><br class="">We're in the process of replacing Quagga with BIRD but stumble upon a<br class="">little problem.<br class=""><br class="">When device scanning is on (obviously default) our testing machine<br class="">completely fills up a CPU core. The culprit isn't BIRD itself but an<br class="">Open vSwitch daemon.<br class=""><br class="">After disabling the device protocol and restarting BIRD, everything goes<br class="">back to it's quiet state.<br class=""><br class="">BIRD (1.6.3-2) and Open vSwitch (2.6.2~pre+git20161223-3) both were<br class="">installed as Debian stable packages.<br class=""><br class="">The configuration is as simple as:<br class=""><br class=""><blockquote type="cite" class=""># This is a minimal configuration file, which allows the bird daemon<br class="">to start<br class=""># but will not cause anything else to happen.<br class="">#<br class=""># Please refer to the documentation in the bird-doc package or BIRD User's<br class=""># Guide on <a href="http://bird.network.cz/" class="">http://bird.network.cz/</a> for more information on configuring<br class="">BIRD and<br class=""># adding routing protocols.<br class=""><br class=""># Change this into your BIRD router ID. It's a world-wide unique<br class="">identification<br class=""># of your router, usually one of router's IPv4 addresses.<br class="">router id 1.2.3.4;<br class=""><br class=""># The Device protocol is not a real routing protocol. It doesn't<br class="">generate any<br class=""># routes and it only serves as a module for getting information about<br class="">network<br class=""># interfaces from the kernel.<br class="">protocol device {<br class="">}<br class=""><br class=""># The Kernel protocol is not a real routing protocol. Instead of<br class="">communicating<br class=""># with other routers in the network, it performs synchronization of BIRD's<br class=""># routing tables with the OS kernel.<br class="">protocol kernel {<br class="">    metric 64;    # Use explicit kernel route metric to avoid collisions<br class="">            # with non-BIRD routes in the kernel routing table<br class="">    import none;<br class="">    export all;    # Actually insert routes into the kernel routing table<br class="">}<br class=""><br class="">protocol bgp test {<br class="">    description "BGP test";<br class="">    local as REDACTED;<br class="">    neighbor 1.2.3.4 as REDACTED;<br class="">    direct;<br class="">    next hop self;<br class="">    deterministic med on;<br class="">    export none;<br class="">    import all;<br class="">}<br class=""></blockquote><br class="">Meanwhile log messages such as below arise:<br class=""><br class=""><blockquote type="cite" class="">bird: Kernel dropped some netlink messages, will resync on next scan.<br class=""></blockquote><br class="">For a test I deleted all existing Open vSwitch bridges and the load<br class="">dropped again. After adding an empty new bridge, the load spikes again<br class="">in an instant.<br class=""><br class="">This is unexpected behaviour. Maybe it's an implementation problem in<br class="">Open vSwitch or maybe in BIRD. Anyway, it should happen I guess.<br class=""><br class="">Any clues?<br class=""><br class="">Thanks in advance!<br class=""><br class="">Regards,<br class="">Kees<br class=""><br class=""><br class=""></div></div></blockquote></div><br class=""></div></div></div><br class=""><br class=""></div><br class=""></body></html>