VPP/CommitterTasks/Compare API Changes

From fd.io
< VPP
Jump to: navigation, search

Recipe to compare VPP API changes between different releases

Use this recipe to generate the list of API changes between versions of VPP:

  • Install the baseline version of VPP packages
export RELEASE=".stable.1801"
export UBUNTU="xenial"
sudo rm /etc/apt/sources.list.d/99fd.io.list
echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | \
    sudo tee -a /etc/apt/sources.list.d/99fd.io.list
sudo apt-get update
sudo apt-get install -y vpp vpp-lib vpp-plugins
  • Edit /etc/vpp/startup.conf to enable writing the api table to /tmp/api-table.<release>
api-trace {
## This stanza controls binary API tracing. Unless there is a very strong reason,
## please leave this feature enabled.
  on
## Additional parameters:
##
## To set the number of binary API trace records in the circular buffer, configure nitems
##
## nitems <nnn>
##
## To save the api message table decode tables, configure a filename. Results in /tmp/<filename>
## Very handy for understanding api message changes between versions, identifying missing
## plugins, and so forth.
##
  save-api-table api-table.1801
}
  • Restart VPP
sudo service vpp restart
  • Verify the API table has been saved
ls -l /tmp/api-table.1801
  • Uninstall the baseline VPP packages
sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins
  • Install the current VPP release
export RELEASE=".stable.1804"
export UBUNTU="xenial"
sudo rm /etc/apt/sources.list.d/99fd.io.list
echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | \
    sudo tee -a /etc/apt/sources.list.d/99fd.io.list
sudo apt-get update
sudo apt-get install -y vpp vpp-lib vpp-plugins
  • Dump the API table comparison
vppctl show api dump file /tmp/api-table.1801 compare
  • Uninstall the current VPP packages
sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins