  The applications in the critical infrastructure systems pose simultaneous
resilience and performance requirements to the underlying computer network. To
meet such requirements, the networks that use the store-and-forward paradigm
poses stringent conditions on the redundancy in the network topology and
results in problems that becoming computationally challenging to solve at
scale. However, with the advent of programmable data-planes, it is now possible
to use linear network coding (NC) at the intermediate network nodes (i.e.
hardware and software switches) to meet resilience requirements of the
applications. To that end, we propose an architecture that realizes linear NC
in programmable networks by decomposing the linear NC functions into the atomic
coding primitives. We designed and implemented the primitives using the
features offered by the P4 ecosystem. Using an empirical evaluation of an
open-source prototype, we show that the theoretical gains promised by linear
network coding can be realized with a per-packet processing cost.

Networking and Internet Architecture