3 ms·
Is there a video of this talk available somewhere? Also can someone tell me what p4 is? Looks like almost every company and a bunch of universities are "contri
by yalogin 7y ago
Is there a video of this talk available somewhere?
Also can someone tell me what p4 is? Looks like almost every company and a bunch of universities are "contributors" there.
- wmf 7y agohttps://www.youtube.com/watch?v=xGNTzjxsLSk https://www.youtube.com/watch?v=xGNTzjxsLSk P4 is a domain-specific programming language for accelerated packet header processing in switches and NICs.
- musicale 7y agoP4 is a domain-specific language for specifying packet forwarding pipelines, i.e. the hardware that takes packets in one port, decodes their headers (e.g. destination MAC or IP address), munges them somehow (e.g. updating TTL, destination MAC, and checksum), and sends them out another port. This enables you to build all sorts of network devices from Ethernet switches to IP routers to RDMA fabrics, etc.. You can compile P4 onto a CPU, a smart NIC, an NPU, a programmable ASIC, an FPGA, etc.. It can also be used a bit like EBPF and compiled into a pipeline in the Linux kernel. Basically P4 allows you to (re)program your network data plane to do whatever you want, and you can create new network protocols or change the way existing ones work without having to change your hardware and without losing line rate performance. It's also somewhat like EBPF, but it compiles to hardware as well as software.
- musicale 7y agoOne interesting example of switch company using P4 is Arista, who have rolled out multi-function programmable switches (7170 series) that can be repurposed/reprogrammed with different personality profiles/operational modes as needed. Some of the profiles are things like stateful firewall/ACLs (up to 100k), large-scale NAT (again 100k), large-scale tunnel termination (up to 192k), packet inspection/telemetry (first 128 bytes), and segment routing (basically source routing over network segments.) And it is also user-programmable.