Skip to content

Guide for adding new VPP version

Ondrej Fabry edited this page Feb 3, 2021 · 3 revisions

Guide to support for a new VPP version to VPP Agent

This document describes step-by-step process for adding support of a new VPP version to VPP Agent.

Steps

    1. add new version to vpp.env, but keep path to binapi code from previous version (VPP_2101_BINAPI=plugins/vpp/binapi/vpp2009 to force overwriting
    1. regenerate binapi code - make generate-binapi VPP_VERSION=2101
    • this might throw issues if some plugin was renamed/removed
    1. try compile to the code
    • this might throw some compilation errors, but most likely not since recent VPP versions add xxx_v2 messages instead of breaking old ones
    1. run integration tests - make integration-tests VPP_VERSION=2101
    1. run e2e tests - make e2e-tests VPP_VERSION=2101
    1. debug and resolve issues from failed tests in step 4. and 5.
    1. repeat 4-6 until all tests are passing
    1. finalize changes
    • change path to binapi code in vpp.env to point to new folder plugins/vpp/binapi/vpp2101
    • copy/paste generated binapi code to new folder vpp2101 and update all references inside from old version to new + rollback generated changes done on previous version
    • rerun binapi generation to verify no changes are made
    • list all vppcalls packages: go list -f '{{if eq .Name "vppcalls"}}{{.Dir}}{{end}}' ./plugins/... and for each of these:
      • copy/paste vppcalls implementation for the lastest supported version to a new folder vpp2101, rename packages and update all references inside to point to a new version vpp2101 (check strings also)
    • verify the code compiles
    • verify tests still pass
    1. commit

Clone this wiki locally