However, the on-path SmartNIC has two limitations.
First, the offloaded code competes for NIC cores with the network requests sent
to the host (➀).
Further, if too much computation is offloaded onto it (➃),
the network performance of the host also suffers a significant degradation [1]}.
Second, programming on-path NICs is hard
because they typically only expose a low-level interface for raw packet manipulation.
