Difference between revisions of "VPP/CommitterTasks/Compare API Changes"

From fd.io
< VPP
Jump to: navigation, search
m (formatting)
m (formatting)
 
Line 10: Line 10:
 
  sudo apt-get update
 
  sudo apt-get update
 
  sudo apt-get install -y vpp vpp-lib vpp-plugins
 
  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>
+
* Edit ''/etc/vpp/startup.conf'' to enable writing the api table to ''/tmp/api-table.'''<release>'''''
 
  api-trace {
 
  api-trace {
 
  ## This stanza controls binary API tracing. Unless there is a very strong reason,
 
  ## This stanza controls binary API tracing. Unless there is a very strong reason,
Line 40: Line 40:
 
     sudo tee -a /etc/apt/sources.list.d/99fd.io.list
 
     sudo tee -a /etc/apt/sources.list.d/99fd.io.list
 
  sudo apt-get update
 
  sudo apt-get update
  sudo apt-get install -y vpp vpp-lib vpp-plugin
+
  sudo apt-get install -y vpp vpp-lib vpp-plugins
 
* Dump the API table comparison
 
* Dump the API table comparison
 
  vppctl show api dump file /tmp/api-table.1801 compare
 
  vppctl show api dump file /tmp/api-table.1801 compare
 
* Uninstall the current VPP packages
 
* Uninstall the current VPP packages
 
  sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins
 
  sudo apt-get remove -y --purge vpp vpp-lib vpp-plugins

Latest revision as of 02:42, 24 April 2018

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