  1+1 protection is a method to secure traffic between two nodes against
failures in between. The sending node duplicates the traffic and forwards it
over two disjoint paths. The receiving node assures that only a single copy of
the traffic is further forwarded to its destination. In contrast to other
protection schemes, this method prevents almost any packet loss in case of
failures. 1+1 protection is usually applied on the optical layer, on Ethernet,
or on MPLS.
  In this work we propose the application of 1+1 for P4-based IP networks. We
define an 1+1 protection header for that purpose. We describe the behavior of
sending and receiving nodes and provide a P4-based implementation for the BMv2
software switch and the hardware switch Tofino Edgecore Wedge 100BF-32X. We
illustrate how to secure traffic, e.g. individual TCP flows, on the Internet
with this approach. Finally, we present performance results showing that the
P4-based implementation efficiently works on the Tofino Edgecore Wedge
100BF-32X.
