TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

P4: open-source programming language for high-performance packet switching

98 pointsby throwaway000002almost 9 years ago

6 comments

neopalliumalmost 9 years ago
Someone has started working on P4 support [0] for Snabb Switch [1].<p>I think a language like P4 will be great for sharing switching logic. I hope we will see re-usable modules written in P4 that can be shared.<p>0. <a href="https:&#x2F;&#x2F;github.com&#x2F;esbullington&#x2F;snabbp4" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;esbullington&#x2F;snabbp4</a> 1. <a href="https:&#x2F;&#x2F;github.com&#x2F;snabbco&#x2F;snabb" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;snabbco&#x2F;snabb</a>
评论 #11907953 未加载
throwaway000002almost 9 years ago
I posted this after reading the various posts regarding Barefoot Networks exiting stealth⁰.<p>They&#x27;ve (jointly?) developed P4 and have tooling to compile it down to their new switch silicon, Tofino.<p>Hard to say exactly how impressive all this is considering how price sensitive and competitive merchant silicon is.<p>They could, for example, have glued a large FPGA to a huge amount of network I&#x2F;O and then developed a P4 compiler to their FPGA fabric. Who knows?<p>P4 seems to be attempting to be a CUDA for switching, except more open. Barefoot, I presume, is betting on producing the most efficient, by whatever metric, hardware implementation of it.<p>⁰<a href="https:&#x2F;&#x2F;hn.algolia.com&#x2F;?query=barefoot%20networks&amp;sort=byDate&amp;prefix=false&amp;page=0&amp;dateRange=all&amp;type=story" rel="nofollow">https:&#x2F;&#x2F;hn.algolia.com&#x2F;?query=barefoot%20networks&amp;sort=byDat...</a>
d08blealmost 9 years ago
P4 syntax like ACPUL, but ACPUL started up as more generic minimalistic algorithmic language. It can be easy compiled to multiple target VMs &amp; hardware also as P4. I think how to use ACPUL for Nginx frontend module, but found some issues in network using, like IPv4&#x2F;v6 addresses formats, strings, etc. ACPUL is currently using in ACPU iPad IDE (Codea like). Here is sample code <a href="https:&#x2F;&#x2F;github.com&#x2F;d08ble&#x2F;acpul-demo&#x2F;blob&#x2F;master&#x2F;dota&#x2F;controls&#x2F;joystick.acpul" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;d08ble&#x2F;acpul-demo&#x2F;blob&#x2F;master&#x2F;dota&#x2F;contro...</a>
piotrjurkiewiczalmost 9 years ago
Very interesting possibility is compilation of P4 into BPF:<p><a href="http:&#x2F;&#x2F;services.geant.net&#x2F;GTS&#x2F;Resources&#x2F;PublishingImages&#x2F;Pages&#x2F;Workshops&#x2F;Simon%20Jouet%20-%20Programmable%20Dataplane.pdf" rel="nofollow">http:&#x2F;&#x2F;services.geant.net&#x2F;GTS&#x2F;Resources&#x2F;PublishingImages&#x2F;Pag...</a><p><a href="http:&#x2F;&#x2F;openvswitch.org&#x2F;support&#x2F;slides&#x2F;p4.pdf" rel="nofollow">http:&#x2F;&#x2F;openvswitch.org&#x2F;support&#x2F;slides&#x2F;p4.pdf</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;iovisor&#x2F;bcc&#x2F;tree&#x2F;master&#x2F;src&#x2F;cc&#x2F;frontends&#x2F;p4" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;iovisor&#x2F;bcc&#x2F;tree&#x2F;master&#x2F;src&#x2F;cc&#x2F;frontends&#x2F;...</a>
shanemhansenalmost 9 years ago
I took a quick look at github, didn&#x27;t see an option to compile to iptables. That would be an interesting use case for me.
评论 #11905466 未加载
评论 #11907251 未加载
unsignedqwordalmost 9 years ago
Not a great choice in name, considering &quot;P4&quot; is the command line utility&#x2F;common abbreviation for Perforce SCM
评论 #11906441 未加载
评论 #11905861 未加载
评论 #11906006 未加载