# 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 [https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/](https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/) ``` export RELEASE=".stable.1801" export UBUNTU="xenial" sudo rm /etc/apt/sources.list.d/99fd.io.list echo "deb [trusted=yes] ./" | \ 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. ** ** ``` 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 ## ## To save the api message table decode tables, configure a filename. Results in /tmp/ ## 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 [https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/](https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/) ``` export RELEASE=".stable.1804" export UBUNTU="xenial" sudo rm /etc/apt/sources.list.d/99fd.io.list echo "deb [trusted=yes] ./" | \ 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 ```