Session

Remote TCP Connection Offload

Speakers

Shuo Li*
Steven Chien*
Tianyi Gao
Michio Honda

Label

Nuts and Bolts

Session Type

Talk

Description

TCP_REPAIR has been available in Linux for a long time. The main purpose of this feature is to serialize and restore an active TCP connection. It is also possible to restore the connection in another host, or “migrate” the connection. However, connection migration requires the upstream switch to redirect the traffic, which is otherwise routed to the host that has established the connection, to the host that has restored the connection. Existing proposals use the Intel/Tofino programmable P4 switch for this purpose, introducing significant deployment burden. To obviate the need for programmable switches, we propose a host-based method that enables TCP connection migration. In this method, the host that has established the connection redirects the traffic using a combination of TC, which can redirect the traffic at a line rate with hardware offload (TC-HW), and eBPF, whose packet redirection rule can be inserted very quickly as its operation is just a map update. In particular, we insert the identical rule with both eBPF and TC-HW such that hardware-based packet redirection can be done opportunistically when its rule is active, while eBPF-based software rule takes effect until that. We integrate this connection migration method with Ceph, a widely-used object storage system.