ovs icon indicating copy to clipboard operation
ovs copied to clipboard

Upstream IPDK changes to OVS mothership

Open ffoulkes opened this issue 1 year ago • 0 comments

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.

ffoulkes avatar Nov 07 '24 00:11 ffoulkes