Barefoot "Tofino": 6.4 Tbps whitebox switch silicon?

a lot of PR fluff, but this may be of interest:

http://www.wired.com/2016/06/barefoot-networks-new-chips-will-transform-tech-industry/

https://barefootnetworks.com/media/white_papers/Barefoot-Worlds-Fastest-Most-Programmable-Networks.pdf

Based on their investors, could have interesting results for much lower
cost 100GbE whitebox switches.

Where is the price tag? Why would you think it is inexpensive?

I do think p4 is very interesting, but is it really much different from
openflow? Which...umm ... Did not succeed in the market.

> a lot of PR fluff, but this may be of interest:
>
>
>
Barefoot Networks' New Chips Will Transform the Tech Industry | WIRED
>
>
>
Explore the Power of Intel® Intelligent Fabric Processors
>
>
> Based on their investors, could have interesting results for much lower
> cost 100GbE whitebox switches.
>

Where is the price tag? Why would you think it is inexpensive?

I do think p4 is very interesting, but is it really much different from
openflow?

Great question!

OpenFlow enabled decoupling of the control plane from the data plane,
whereas P4 allows you to define the data plane. Check out this popular P4
program that defines the data plane of a L2/L3 switch -

OpenFlow is a protocol, whereas P4 is a programming language. You can use
OpenFlow controller to control a P4 data plane - Check out this OpenFlow
agent on top of a P4 data plane - GitHub - p4lang/p4ofagent: Openflow agent on a P4 dataplane

Check out this blog post which explains the differences between P4 and
OpenFlow quite well -

More questions? Shoot me an email :slight_smile:

Which...umm ... Did not succeed in the market.

Looks very promising!

Why lower cost? The BOM isn't the expensive part, the code is the
expensive part. Only way I see this happening, is if we get open
source routing suite for the box, i.e. 0 cost software.

If you're thinking of writing your own routing suite, even if your
requirements are trivial, it's still probably take 2-3 years and
+2MUSD in salaries, and then maintenance +300kUSD/year in salaries.
Need quite significant annual unit number scale to make it cheap.

I'm quite fascinated by the idea of doing something really novel in
routing suite space, but I don't see how it could possibly work
commercially. How many customers would there be for licensing COTS
routing-suite when costs are millions annually to develop it for
general use-case.

I do think p4 is very interesting, but is it really much different from
openflow? Which...umm ... Did not succeed in the market.

P4 is quite different from OpenFlow. The various generations of the OpenFlow specification assume a fixed-format packet header with an ever increasing number of header fields (from 12 in OF 1.0 to 41 in OF 1.4), a fixed set of packet-processing actions, and so on. P4 allows programmable parsing and flexible match-action processing. In P4, the program tells the data plane how to act; in OpenFlow, the way the data plane can act is “baked” in advance. So, OpenFlow 1.x can be one of many *programs* you can write in P4, whereas many other P4 programs can exist. For some discussion of the differences, see

  Clarifying the differences between P4 and OpenFlow
  Clarifying the differences between P4 and OpenFlow - Open Networking Foundation

— Jen

Saku,

I agree completely. Isn't this what Arista did? They coded from like 2004
to 2008 before launching EOS using commercial chipsets. You seem to really
understand routing software, so I would love to hear your take on Arista
EOS.

It shouldn't be long before we see open source routing suites (Bird,
Quagga, GoBGP, etc) running on Linux (ONL, OS10, OpenSwitch). There is
a P4 program that implements the Switch Abstraction Interface (SAI),
which provides a common interface, device independent, interface to
merchant silicon.

http://p4.org/p4/an-open-source-p4-switch-with-sai-support/

A quick way to do interesting things with the programmable data plane
is to use P4 to augment the basic switching / routing behavior
provided by SAI: moving resources from layer 2 tables to layer 3
tables, adding telemetry, adding additional control capabilities,
etc.:

http://blog.sflow.com/2016/06/programmable-hardware-barefoot-networks.html