bier: API cleanup
[vpp.git] / src / vnet / bier / bier.api
index fb6923b..3356152 100644 (file)
@@ -1,3 +1,4 @@
+/* Hey Emacs use -*- mode: C -*- */
 /*
  * Copyright (c) 2016 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
     This file defines vpp BIER control-plane API messages which are generally
     called through a shared memory interface.
 */
-option version = "1.1.0";
+option version = "1.2.1";
 import "vnet/fib/fib_types.api";
 
-/** \brief BIER Table Indentifier
+/** \brief BIER Table Identifier
     @param bt_set - The BIER set
     @param bt_sub_domain - the sud-domain
     @param bt_bit_header_length - the number of bits in the header length
 */
-typeonly define bier_table_id
+typedef bier_table_id
 {
   u8 bt_set;
   u8 bt_sub_domain;
@@ -48,7 +49,7 @@ autoreply define bier_table_add_del
   u32 context;
   vl_api_bier_table_id_t bt_tbl_id;
   u32 bt_label;
-  u8 bt_is_add;
+  bool bt_is_add;
 };
 
 define bier_table_dump
@@ -70,23 +71,30 @@ define bier_table_details
     @param br_bp - The Bit-position value
     @param br_tbl_id - The BIER table-id the route is added in
     @param br_is_add - Is this a route add or delete
-    @param br_is_replace - Are the paths specfied replacing those already
+    @param br_is_replace - Are the paths specified replacing those already
                            present or are they to be combined.
+                          is_replace = 1 and n_paths=0 implies delete the
+                          route and all paths;
     @param br_n_paths - The number of paths
     @param br_paths - The array of paths
 */
-autoreply define bier_route_add_del
+typedef bier_route
 {
-  u32 client_index;
-  u32 context;
   u32 br_bp;
-  u8 br_is_add;
-  u8 br_is_replace;
   vl_api_bier_table_id_t br_tbl_id;
   u8 br_n_paths;
   vl_api_fib_path_t br_paths[br_n_paths];
 };
 
+autoreply define bier_route_add_del
+{
+  u32 client_index;
+  u32 context;
+  bool br_is_add;
+  bool br_is_replace;
+  vl_api_bier_route_t br_route;
+};
+
 define bier_route_dump
 {
   u32 client_index;
@@ -97,10 +105,7 @@ define bier_route_dump
 define bier_route_details
 {
   u32 context;
-  u16 br_bp;
-  vl_api_bier_table_id_t br_tbl_id;
-  u32 br_n_paths;
-  vl_api_fib_path_t br_paths[br_n_paths];
+  vl_api_bier_route_t br_route;
 };
 
 /** \brief BIER Imposition Add
@@ -173,7 +178,7 @@ autoreply define bier_disp_table_add_del
   u32 client_index;
   u32 context;
   u32 bdt_tbl_id;
-  u8 bdt_is_add;
+  bool bdt_is_add;
 };
 
 define bier_disp_table_dump
@@ -193,8 +198,8 @@ define bier_disp_table_details
     @param context - sender context, to match reply w/ request
     @param bde_bp - The Bit-position value for the entry, i.e. the sender's
                     Use 0 for the default (match any source) entry.
-    @param bde_tbl_id - The BIER dispositiontable-id the route is added in
-    @param bde_next_hop_sw_if_index - the nextop interface
+    @param bde_tbl_id - The BIER disposition table-id the route is added in
+    @param bde_next_hop_sw_if_index - the next hop interface
     @param bde_is_add - Is this a route add or delete
     @param bde_payload_proto - The payload protocol for which the next-hop
                               is added
@@ -206,7 +211,7 @@ autoreply define bier_disp_entry_add_del
   u32 context;
   u16 bde_bp;
   u32 bde_tbl_id;
-  u8 bde_is_add;
+  bool bde_is_add;
   u8 bde_payload_proto;
   u8 bde_n_paths;
   vl_api_fib_path_t bde_paths[bde_n_paths];
@@ -224,7 +229,7 @@ define bier_disp_entry_details
   u32 context;
   u16 bde_bp;
   u32 bde_tbl_id;
-  u8 bde_is_add;
+  bool bde_is_add;
   u8 bde_payload_proto;
   u8 bde_n_paths;
   vl_api_fib_path_t bde_paths[bde_n_paths];