PrplWrt – a minimal build-system, a carrier-grade platform, a corporate community – Mirko Lindner [OpenWRT Summit 2018]

The prplWrt repository is opened today. prplWrt is an additional feed on top of OpenWRT.

ISPs face new challenges: differentiation in hardware and software, additional services like IoT, and cyber-security. However, the router stacks can’t deliver. They are monolithic with no upgrade path. Features are regarded as a sales argument. Quality is diminished by time-to-market pressure. Things are designed as a one-off, there is no continuous improvement. With a platform approach, on the other hand, it would be possible to add features or supporting new devices without loosing what was there before.

Carriers often want two manufacturers of the same device (dual-sourcing) as a safety net. By standardizing the APIs, it becomes easier for both the device makers and for the ISPs to make this possible. In addition, when standardizing the APIs, there is less and less reason to not open-source the implementation as well (contrast this to what Felix from OpenWRT said yesterday, that he doesn’t want closed-source WiFi drivers, even if they’re cfg80211 based, and that nobody should help vendors using such closed-source drivers).

prpl starts from existing community projects. On top of that, they add carrier grade security: software hardening, signing, QA and testing. On top of that come “enterprise” features, like DSL support, TR-069 clients, etc.

The starting idea of prplWrt was a simple script: clone the repo, type make, and maybe do a menuconfig for additional packages.

prplWrt consists of several layers on top of the OpenWRT baseline. Base changes (currently none) are patches and extensions to the OpenWRT feed itself, e.g. package versions not yet accepted upstream. Base changes should never go into a prplWrt release. Additional targets (boards). Category changes: categories are e.g. DSL, cable, AP, … - they select a number of default packages. Vendor specific changes (additional packages and customisation). Product specific changes. The important thing is that everybody who participates in this has a very similar setup. If you go to another vendor, you can migrate relatively easily.

prpl also wants to make it more easy for companies to work with upstream.

4 different companies (one of which is prpl) worked together made the 0.9.1 release which is there at the moment.