Requirement
|
|
Several choices were possible, we finally ended up in following the KISS method. The Operating system requirements are:
The hardest path would be:
The objective is to have tight control of the software installed on the appliance. This guarantees the smallest footprint we hope to obtain. For those familiar with OpenWRT, we can reach a tiny image size. My OpenWRT image is 5Mb.
This provides an incredible feature: commit/rollback functionality at the package management level!
The features above are still under study into RARE group. We will introduce these technologies once we feel more confident on how to integrate these technologies into a streamlined deployment process. |
In this article we will go through the major steps in deploying Debian 10 stable aka Buster in order to prepare freeRouter installation.
![RARE > 2020/08/25 > RARE validated design: [ SOHO #002 ] - "Let's do it !" > image2020-8-25_17-8-23.png](/download/attachments/148090495/image2020-8-25_17-8-23.png?version=1&modificationDate=1598368103913&api=v2)
Via the appliance BIOS settings:
Now that you have activated console port:
You can now proceed to the next step: Debian 10 installation |
We will assume that you have installed Debian 10 on the 256 Gb SSD. Just as a side note during the installation process you'll be prompted the: "Software selection" window, in this steps we will:
This will guarantee the tiniest Debian 10 operating system software footprint. We will on demand install the needed packages manually. |
On minimal installation,
The latest DPDK software is needed. We use the Debian 10 backport repository in orcer to get DPDK 19.11.2-1~bpo10+1
|
In this setup we will create a freeRouter folder at the filesystem root directory
|
As freeRouter is handling the networking task, we have to disable the appliance networking. Forgetting to do so will result in conflicts and unpredictable behaviour.
|
Effectively start freeRouter main loop
This main loop is triggered by the script hwdet-main.sh below:
|
All the choices have been made in order to make the appliance resilient as much as possible and provide an enjoyable user experience. We will see in a later article, a feature that I love: auto-upgrade. This will keep your appliance up to date over the network with the latest freeRouter train during low traffic period. Of course, for ISP P/PE core router we don't want this, but hey! why not? As soon as all customers are dual homed to 2 different PEs reachable via 2 direct core paths, this can be achieved during low traffic period after having set the metric to infinity on all the PE/P boxes to be upgraded. (use IS-IS overload bit or OSPF max-metric router-lsa) |
In this article, we got our hands dirty and manually installed freeRouter with DPDK dataplane from a clean slate environment. This is done on purpose, as I'd like you to understand the whole installation process in detail. There is an automated installation alternative that will install freeRouter also. However this is will install freeRouter with software backend. If your hardware CPU+NIC is compatible you can just replace the software backend by DPDK backend. At that precise point we have a vanilla genuine installation of freeRouter with DPDK dataplane on an appliance that can survive physical wild environment and power cut. We have just now to create the 2 freeRouter configuration files:
ls -l rtr-* -rw-r--r-- 1 root root 646 Jul 31 17:03 rtr-hw.txt -rw-r--r-- 1 root root 9027 Aug 25 10:02 rtr-sw.txt |
In the next article, we will configure the freeRouter appliance, start the router, and provide configuration in order to have effective basic ping reachability to the FTTH BROADBAND internal IP. |