Skip to content

Upstream IPDK changes to OVS mothership #136

Description

@ffoulkes

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions