[dev] Open Network Equipment and FRRouting

Andrew Lunn andrew at lunn.ch
Mon Jan 21 14:36:30 EST 2019


On Mon, Jan 21, 2019 at 08:08:06PM +0100, Łukasz Wójcik wrote:
> Hello Andrew,
> 
> 
> Indeed, I am aware of how netlink works, I was just hoping that there
> will be some kind of unified API, same for pretty much every ASIC.

I doubt that is going to happen for a while, at least for L3 devices.

L2 is pretty good at the moment. There are probably over 50 switches
supported in the Linux kernel, with some vendors supporting their own
switches.

However the L3 vendors don't yet seem to like true open networking for
their ASICs, they want to hide too many secrets in the SDK.

> In any case, there's also ORC in ONL. As I understand it, it
> provides it's own virtual interfaces attached to actual switch
> ports. Any change to this interface (or routes related to these)
> would be translated to ASIC. This approach seems very nice, as you
> could simply use these virtual interfaces, as you would with
> physical interfaces, and therefore you would not need any changes in
> FRR. The problem I see is that I cannot find any documentation.

This is basically how the kernel does it. Each port of the switch is a
true Linux interface. You add routes to the interface, and the kernel
will offload it to the hardware. If you create a bridge and add
interfaces to the bridge, the kernel will offload it to the
hardware. If you use the team driver to create a LAG, and add
interfaces to it, the kernel will offload it to the hardware. All your
usual tools, routing daemon, snmp agents, just work.

      Andrew



More information about the dev mailing list