Upstream IPDK changes to OVS mothership
The following proposal was made 29-July-2024.
Validation
We need to ask Validation to test the updated version of OvS before we upstream it.
It includes 2½ years’ worth of upstream commits (~800), which had to be merged as part of preparing it for upstreaming.
Modified Files
The OvS files we need to upstream are as follows:
configure.ac
include/
automake.mk
ovsp4rt/
automake.mk (new)
ovs-p4rt.h (new)
lib/
automake.mk
mac-learning.c
mac-learning.h
netdev-port.c
netdev.h
p4ovs.c (new)
p4ovs.h (new)
util.h (why?)
m4/
ovs_check_p4ovs.m4
ofproto/
ofproto-dpif-xlate.c
ofproto-dpif-xlate.h
ofproto-dpif.c
ofproto.h
utilities/
automake.mk
vswitchd/
automake.mk
bridge.c
ovs-vswitchd.c
Pull Requests
The first PR could be nothing but the build infrastructure:
- configure.ac
- m4/ovs_check_p4ovs.m4
and probably:
- include/automake.mk
- include/ovsp4rt/automake.mk
- include/ovs-p4rt.h
- lib/automake.mk
- lib/p4ovs.c
- lib/p4ovs.h
plus a document on building OvS with P4 enabled.
I don't know hard it would be to partition the remaining files into buildable subsets. I'm inclined to include all of them in the second PR.
OVS-P4RT Package
I propose to create a package containing a prebuilt ovs-p4rt install tree, and post it in the networking-recipe repository as a release asset. That way, anyone who wants to can download and install the package, and use it to build P4-enabled OVS. The package will include the stubs library, which allows you to run the OVS test suite.