P4 (named for “Programming Protocol-independent Packet Processors”) is a domain specific programming language for expressing how packets are processed by the data plane of a forwarding element such as a hardware or software switch, network interface card, router, or network appliance.
P4 is a project hosted by the Open Networking Foundation (ONF).

P4 SRv6 Fabric tutorial

The P4 SRv6 Fabric tutorial teaches you with a sequence of hands-on exercises how to build an SRv6-enabled fabric using P4, P4Runtime Agent and Open Network Operating System (ONOS™).
The Developer/Tutorial GitHub repository is here.
The document with instructions can be found here.