Parking Packet Payload with P4
Network Function (NF) deployments suffer from poor link goodput, because popular NFs such as firewalls process only packet headers. As a result, packet payloads limit the potential goodput of the link. Our work, PayloadPark, improves goodput by temporarily parking packet payloads in the stateful memory of dataplane programmable switches. PayloadPark forwards only the packet headers to the NF servers and saves transmit and receive bandwidth between the switch and the NF server. PayloadPark is a transparent in-network optimization that complements existing approaches for optimizing NF performance on end-hosts. We prototyped PayloadPark on a Barefoot Tofino ASIC using the P4 language. Our prototype, when deployed on a top-of-rack switch, can service up to 8 NF servers using less than 40 improves goodput by 10-36 Firewall -> NAT NF chain without harming latency. The prototype also saves 2-58 transmission between the switch and the NF server. With workloads that have datacenter network traffic characteristics, PayloadPark provides a 13 gain with the Firewall -> NAT -> LB NF chain without latency penalty. In the same setup, we can further increase the goodput gain to 28 recirculation.
READ FULL TEXT