MAP: Convert from DPO to input feature.
[vpp.git] / src / plugins / nat / nat.h
index 02d4aae..06d0dec 100644 (file)
@@ -165,6 +165,7 @@ typedef enum
 #define NAT44_SES_O2I_FIN_ACK 8
 #define NAT44_SES_I2O_SYN 16
 #define NAT44_SES_O2I_SYN 32
+#define NAT44_SES_RST     64
 
 /* Session flags */
 #define SNAT_SESSION_FLAG_STATIC_MAPPING       1
@@ -221,6 +222,9 @@ typedef CLIB_PACKED(struct
   u8 state;
   u32 i2o_fin_seq;
   u32 o2i_fin_seq;
+
+  /* user index */
+  u32 user_index;
 }) snat_session_t;
 /* *INDENT-ON* */
 
@@ -528,6 +532,10 @@ typedef struct snat_main_s
   u16 mss_clamping;
   u16 mss_value_net;
 
+  /* counters/gauges */
+  vlib_simple_counter_main_t total_users;
+  vlib_simple_counter_main_t total_sessions;
+
   /* API message ID base */
   u16 msg_id_base;
 
@@ -855,6 +863,11 @@ int nat44_add_del_lb_static_mapping (ip4_address_t e_addr, u16 e_port,
                                     twice_nat_type_t twice_nat,
                                     u8 out2in_only, u8 * tag, u32 affinity);
 
+int nat44_lb_static_mapping_add_del_local (ip4_address_t e_addr, u16 e_port,
+                                          ip4_address_t l_addr, u16 l_port,
+                                          snat_protocol_t proto, u32 vrf_id,
+                                          u8 probability, u8 is_add);
+
 clib_error_t *snat_api_init (vlib_main_t * vm, snat_main_t * sm);
 
 /**