remix logo

Hacker Remix

Intel's Tofino P4 Software Is Now Open Source

200 points by ram_rattle 2 days ago | 70 comments

dfex 2 days ago

Am I mistaken or has Intel pretty much shelved the Tofino switching hardware that supports P4 in the first place?

I seem to recall Oxide having to switch suppliers over this?

wmf 2 days ago

Yes, Intel canceled Tofino two years ago.

I'm not complaining but it's weird that they're open sourcing the SDK now. Maybe it's to support Mount Evans.

dolmen 2 days ago

Releasing dead software that is used only to support dead hardware?

spookie 2 days ago

At least you can still make use of that hardware, many companies should take note of this. You can make hardware and software that doesn't die once someone pulls the plug on the other side.

Still, of course it would've been better to have released it sooner.

snizovtsev 2 days ago

I think half of Tofino's complexity was in their compiler. So it may inspire new hardware vendors to reuse it in some contexts.

robertlagrant 2 days ago

That's fair enough.

rising-sky 2 days ago

This was the post by Bryan Cantrill of Oxide on the Tofino saga with Intel

https://bcantrill.dtrace.org/2024/12/08/why-gelsinger-was-wr...

ggm 2 days ago

I also was told tofino was looking EOL. Like NUC, dropped from some C suites KPI set and longterm roadmap.

I'd love to be wrong, this is just what people said.

bayindirh 2 days ago

However, NUC form factor is more lively than ever before. Maybe someone can grab the language and run for something? Miktrotik guys come into my mind.

doctorpangloss 2 days ago

It’s complicated. The NUCs had a lot of inevitable catastrophic hardware failures, like NIC ports that would break. Their problem is they were not good.

UltraSane 2 days ago

How is a ethernet port breaking "inevitable"?

doctorpangloss 2 days ago

100% of the Broadwell NUCs, AFAIK, eventually have the problem, but many were trashed before they did. These issues persisted for years, such as with 10th and 12th generation NUCs. Search "proxmox nuc NIC not working".

Twirrim 1 day ago

Broadwell is gonna broadwell. I won't ever trust their NICs ever again. They've been way too much pain with them both personally and professionally.

Their firmware is crap quality, and their bugs are just absolutely astoundingly bad.

At one job we literally had to fix their firmware for them after several months of back-and-forth, engineers spotted the absurdly obvious bug in minutes of seeing their code.

happycube 2 days ago

NUC somewhat avoided the google^Wintel graveyard - they sold at least the branding to Asus.

p_l 2 days ago

NUCs are shifting completely to ASUS who is going to continue working on them and there are some long term commitments (there are industrial variants for example)

lifeisstillgood 2 days ago

I’m impressed by the political acumen it takes to get a Corp to release code as OSS. My career has seen at least two chunks of work that would have made great OSS (ie potentially useful outside of the single company) but Incoukd not get past the final hurdle

And they would have been nice CV boosters as well (my real motivation!)

dolmen 2 days ago

Well. It looks like abandonning software to the community.

From the "P4 workflow" described at https://p4.org/ I see mentions of compiling to x86, but no mention of ARM, and no mention of BPF. So, as someone who discover it, I wonder if this project is still relevant in 2025.

enragedcacti 2 days ago

I'm not familiar with P4 but with some quick digging it seems like the compiler does support eBPF as a target. Additionally, I don't think the compiler outputs x86 directly at all, and instead includes targets like DPDK which supports ARM in addition to x86.

https://github.com/p4lang/p4c

FuriouslyAdrift 2 days ago

There's a bunch of network operating systems that use P4 (Arista EOS, Cisco NX-OS, IPinfusion OCNOS, Microsoft SONiC, etc)

trimethylpurine 2 days ago

Is x86 dead for wire powered devices?

Regardless, OSS is probably the best way to get it onto other architectures.

neuroelectron 2 days ago

Basically, now you have to document x86. xD

baq 2 days ago

It helps that Intel has been contributing to OSS since forever, they have good internal processes established and some orgs develop/contribute to OSS pretty much exclusively.

bayindirh 2 days ago

I think the biggest contributor to these processes was going open source in their graphics drivers.

They went from "we have tons of 3rd party IP in these!" to, "you don't need to download anything, it's in kernel mainline now" in a generation and they're off to the races after that.

Maybe their Ethernet drivers were open before that, I don't remember but, video drivers made them pass a threshold in maturity IMHO.

spookie 2 days ago

Intel embraced Linux when they bet big in datacenters in early 2002. The momentum they got from there, with Linux dominating the sector, made them realize how much of a benefit it is to have a free software stack. With Linux they were able to go head to head with the incumbents of the day.

Linux and x86 became unbeatable in the space for 20 years.

They have known how important it is. They won't forget.

bayindirh 2 days ago

Yes, however, they first made their hardware standard compliant rather than making their driver open source.

The open source part came later, starting with CPU and chipset support, then Ethernet, then GPUs IIRC.

The biggest and sweetest side-effect is Desktop/Personal use Linux support as long as the hardware doesn't do anything janky, or too janky.

spookie 2 days ago

Fair enough

bombcar 2 days ago

The ethernet ones were big for awhile, I can remember when you wanted to go out of your way to get something that worked with the e1000 driver if you wanted reliable, usable gigabit.

fidotron 2 days ago

> they have good internal processes established

There are a good number of people that would LOL at this statement, myself included.

Maybe they have such processes now, because at one point . . . Well “mistakes were made”.

kanwisher 2 days ago

I had one piece that made it open source (with blessing of 20 committees), then someone that didn't like me ran it back up the flag poll and pulled it back next day

antithesis-nl 2 days ago

As far as I can tell, Software Defined Networking (which this is about: "P4 is a domain-specific language for network devices") by now is pretty much a decade-old promise that never materialized. I'd still love to be wrong though!

So, let's take the next paragraph: "Before P4, vendors had total control over the functionality supported in the network (...) controlled the rollout of new features (e.g., VXLAN), and rollouts took years"

Anyone has a pointer to any actually available hardware capable of L2 and L3 packet processing where I could have implemented VXLAN in, say, weeks using P4? Again, as far as I can tell, it's all either killed-off-a-long-time-ago, "contact us" vaporware, or exotic 40/100-Gb-only Top-o-Rack gear, and even for those, there is nary an "add to cart" button in sight...

wmf 2 days ago

P4 is used by Cisco Silicon One, Xsight, AMD Pensando, Intel Mount Evans, etc. "Contact us" isn't the same thing as vaporware; the Pensando SSDK and Intel ES2K SDE definitely exist for example. I realize it sucks when things aren't available to hobbyists but it's a mistake to pretend it's fake.

P4 is really only needed in data center networks because slower campus/home networks can usually get away with software processing and their lower prices probably can't support the R&D of a programmable architecture.

kuon 2 days ago

I would be curious as well. Every time we try something "software defined" the drawbacks are major, cost goes up, stability goes down and most importantly, bandwidth goes down by a factor 10. The only software defined networking gear we use is OpenBSD, to do some complex routing, but we cannot go above 5GB/s.

newsclues 2 days ago

Seems to be used in the military radio space.

14 2 days ago

Not much to add technically but I am very curious who named it Tofino. Tofino is a city by where I live. It is a beautiful location on the Pacific Ocean on Vancouver Island. A favorite destination for our PM Justin Trudeau. Definitely one of the top 100 beautiful places in the world. When I go there I feel stress leave my body and just enjoy the sounds of the waves crashing and the feeling of the sand on my feet melt any worries I may have. Love it there.

jnf27 2 days ago

The founding CEO of Barefoot Networks was big surfer. They used famous surfing spots as the internal names of their ASICs.

bnchrch 2 days ago

Same here! Im living over in Comox and spend a lot of time in Tofino / Ucluelet. Best part of all of Canada in my opinion.

I particularly enjoy the winter trips to SF to show my colleagues pictures of the latest cold water surf adventure.

14 1 day ago

Nice we are basically neighbors you have to drive past my house to get to Tofino. If you are ever passing by always like making new like minded friends.