Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-1996

Bulk ip route add del API

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • None
    • None
    • None

      In some application, if there are many VRF tables in vpp, and there is external router redundancy, e.g. active-standby. when active router is down, so need to delete route from each VRF table, and add new route to each VRF tables. 

      in an application, there are 800 VRFs, with a busy vpp (high traffic), it takes 3 minutes to finish deletion one route from each VRF. as a comparison, using a bulk API (put multiple routes in a single API, in the test, put 100 routes in a API, called 8 times, 800 routes deletion in total), it takes ~2 seconds under same traffic condition.

      a bulk API example:
      ```
      define bulk_ip_route_add_del

      {     u32 client_index;     u32 context;     u8 is_add;     u8 is_multipath;     u32 n_routes;     vl_api_ip_route_t route[n_routes]; }

      ;
      ```
      without this API, user need to implement it in vpp plugin and call fib_api_route_add_del after decode the route in the array. and user need to copy ip.api and fib_types.api to their plugin workspace. 

      This is a desired new API, for some applications which need many VRFs. 

            Unassigned Unassigned
            baorliu Baorong Liu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: