Skip to content

Use routeresync to Swap the Routing Stack

Shuotian Cheng edited this page Jan 11, 2018 · 2 revisions

We have demoed the data plane uninterrupted routing stack swap with our simple utility routeresync. Here are the steps:

  1. Run the command routeresync start. This step freezes the current data plane forwarding table so that during our control plane modification, the data plane won't be touched.
  2. Remove the previous routing stack and run the command 'ip route flush' to flush all the previous routes.
  3. Install the new routing stack and wait for all the new routes to be learned.
  4. Run the command routeresync stop. This step unfreezes the current data plane forwarding table and then the orchagent will sync the differences between the previous routes and the current routes.

The logic behind it is that we have the application database separated from the ASIC database. The routes in the application database will be flushed first and then added afterwards from the new routing stack. However, the routes in the ASIC database won't be touched until the command routeresync stop is executed. orchagent will be responsible for comparing the differences between the previous routes and the new routes.

Clone this wiki locally