<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>They are obviously not running full tables on their 3640. I'd
imagine a raspberry pi would have more BGP capability and
throughput than a 3640, though I don't recommend doing that even
as a joke. But an ERR would be fine if they're expecting nothing
more than a slightly faster 3640 with maybe some extra features.<br>
</p>
<div class="moz-cite-prefix">On 9/3/19 3:54 PM, Florian Brandstetter
via NANOG wrote:<br>
</div>
<blockquote type="cite"
cite="mid:69414933-770B-464C-B9DA-A8F7A61566A1@getmailspring.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div>Ubiquiti's EdgeRouter Lite is equipped with 512 MiB of DDR2
memory, of which after startup, roughly 491 MiB can be utilized.
119 MiB of the remaining memory are allocated by the base of the
router already, which leaves you with a remainder of 372 MiB
memory. Memory usage depends on the architecture for objects,
for example there's a large difference between x86 and x86_64,
since on x86_64, the compiler will generally use 64bit
boundaries to be faster; the ERL runs on a MIPS64 architecture,
which will have a similar trade-off. To get to the point, let's
have a quick look at the components using memory: bgpd, zebra,
kernel. Roughly 180 MiB of memory are required to keep a single
full table in bgpd alone, leaving you with 192 MiB of free
memory. Accounting further, zebra will eat at least another 100
MiB for exporting the BGP RIB to the Kernel (FIB), leaving you
with 100 MiB. At this point, you have a mere 92 MiB left for
fitting the routes into the kernel, and to leave room for RX
buffers on sockets.</div>
<br>
<div>I don't see full tables happening from a memory perspective
on the EdgeRouter Lite, you would want to look at something with
at least 2 GiB of memory to keep the whole system running
smoothly, and when using Quagga and Zebra, that's still aimed
rather low. FRRouting at this point uses 2 GiB for 4 full tables
on an x86 system, without any magic attached.</div>
<br>
<div>Having kept it unmentioned, the EdgeRouter Lite has a
dual-core with 500 MHz, and surely your BGP updates processing
isn't offloaded, hence you will pretty quickly kill the whole
router when you flood it with a full table, unless you set very
low queue sizes, which isn't really reliable though since you
generally want BGP to converge fast - not after a period of 15
minutes with the CPU sitting on 100%.</div>
<br>
<div>You might want to install something like OpenWRT (which I
don't know the possibility of on an ERL), and run BIRD if you're
tied to a low memory footprint, however, in a base
vendor-generic setup of the ERL, it's beyond my understanding
why one would even suggest running a full table on it.</div>
<img class="mailspring-open" alt="Sent from Mailspring"
style="border:0; width:0; height:0;"
src="https://link.getmailspring.com/open/69414933-770B-464C-B9DA-A8F7A61566A1@getmailspring.com?me=06695157&recipient=bmFub2dAbmFub2cub3Jn"
moz-do-not-send="true" width="0" height="0">
</blockquote>
</body>
</html>