Add IPSec interface FIB index for TX packet
[vpp.git] / src / vnet / ipsec / ipsec.api
index 793422d..2b015f9 100644 (file)
@@ -13,7 +13,7 @@
  * limitations under the License.
  */
 
-option version = "2.0.0";
+option version = "2.1.0";
 
 /** \brief IPsec: Add/delete Security Policy Database
     @param client_index - opaque cookie to identify the sender
@@ -562,6 +562,8 @@ define ipsec_spd_interface_details {
     @param remote_integ_key - integrity key for inbound IPsec SA
     @param renumber - intf display name uses a specified instance if != 0
     @param show_instance - instance to display for intf if renumber is set
+    @param udp_encap - enable UDP encapsulation for NAT traversal
+    @param tx_table_id - the FIB id used after packet encap
 */
 define ipsec_tunnel_if_add_del {
   u32 client_index;
@@ -585,6 +587,8 @@ define ipsec_tunnel_if_add_del {
   u8 remote_integ_key[128];
   u8 renumber;
   u32 show_instance;
+  u8 udp_encap;
+  u32 tx_table_id;
 };
 
 /** \brief Add/delete IPsec tunnel interface response
@@ -635,6 +639,7 @@ define ipsec_sa_dump {
     @param replay_window - bit map of seq nums received relative to last_seq if using anti-replay
     @param total_data_size - total bytes sent or received
     @param udp_encap - 1 if UDP encap enabled, 0 otherwise
+    @param tx_table_id - the FIB id used for encapsulated packets
 */
 define ipsec_sa_details {
   u32 context;
@@ -667,6 +672,8 @@ define ipsec_sa_details {
 
   u64 total_data_size;
   u8 udp_encap;
+
+  u32 tx_table_id;
 };
 
 /** \brief Set key on IPsec interface
@@ -703,6 +710,42 @@ autoreply define ipsec_tunnel_if_set_sa {
   u8 is_outbound;
 };
 
+/** \brief Dump IPsec backends
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+*/
+define ipsec_backend_dump {
+  u32 client_index;
+  u32 context;
+};
+
+/** \brief IPsec backend details
+    @param name - name of the backend
+    @param protocol - IPsec protocol (value from ipsec_protocol_t)
+    @param index - backend index
+    @param active - set to 1 if the backend is active, otherwise 0
+*/
+define ipsec_backend_details {
+  u32 context;
+  u8 name[128];
+  u8 protocol;
+  u8 index;
+  u8 active;
+};
+
+/** \brief Select IPsec backend
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param protocol - IPsec protocol (value from ipsec_protocol_t)
+    @param index - backend index
+*/
+autoreply define ipsec_select_backend {
+  u32 client_index;
+  u32 context;
+  u8 protocol;
+  u8 index;
+};
+
 /*
  * Local Variables:
  * eval: (c-set-style "gnu")