-static int api_snat_det_close_session_out (vat_main_t * vam)
-{
- unformat_input_t * i = vam->input;
- vl_api_snat_det_close_session_out_t * mp;
- ip4_address_t out_addr, ext_addr;
- u32 out_port, ext_port;
- int ret;
-
- if (unformat (i, "%U:%d %U:%d",
- unformat_ip4_address, &out_addr, &out_port,
- unformat_ip4_address, &ext_addr, &ext_port))
- ;
- else
- {
- clib_warning("unknown input '%U'", format_unformat_error, i);
- return -99;
- }
-
- M(SNAT_DET_CLOSE_SESSION_OUT, mp);
- clib_memcpy(mp->out_addr, &out_addr, 4);
- mp->out_port = ntohs((u16)out_port);
- clib_memcpy(mp->ext_addr, &ext_addr, 4);
- mp->ext_port = ntohs((u16)ext_port);
-
- S(mp);
- W (ret);
- return ret;
-}
-
-static int api_snat_det_close_session_in (vat_main_t * vam)
-{
- unformat_input_t * i = vam->input;
- vl_api_snat_det_close_session_in_t * mp;
- ip4_address_t in_addr, ext_addr;
- u32 in_port, ext_port;
- int ret;
-
- if (unformat (i, "%U:%d %U:%d",
- unformat_ip4_address, &in_addr, &in_port,
- unformat_ip4_address, &ext_addr, &ext_port))
- ;
- else
- {
- clib_warning("unknown input '%U'", format_unformat_error, i);
- return -99;
- }
-
- M(SNAT_DET_CLOSE_SESSION_IN, mp);
- clib_memcpy(mp->in_addr, &in_addr, 4);
- mp->in_port = ntohs((u16)in_port);
- clib_memcpy(mp->ext_addr, &ext_addr, 4);
- mp->ext_port = ntohs((u16)ext_port);
-
- S(mp);
- W (ret);
- return ret;
-}
-
-static void vl_api_snat_det_session_details_t_handler
- (vl_api_snat_det_session_details_t *mp)
-{
- snat_test_main_t * sm = &snat_test_main;
- vat_main_t *vam = sm->vat_main;
-
- fformat(vam->ofp, "deterministic session, external host address %U, "
- "external host port %d, outer port %d, inside port %d",
- format_ip4_address, mp->ext_addr, mp->ext_port,
- mp->out_port, mp->in_port);
-}
-
-static int api_snat_det_session_dump(vat_main_t * vam)
-{
- unformat_input_t* i = vam->input;
- vl_api_snat_det_session_dump_t * mp;
- vl_api_snat_control_ping_t *mp_ping;
- ip4_address_t user_addr;
- int ret;
-
- if (vam->json_output)
- {
- clib_warning ("JSON output not supported for snat_det_session_dump");
- return -99;
- }
-
- if (unformat (i, "user_addr %U", unformat_ip4_address, &user_addr))
- ;
- else
- {
- clib_warning ("unknown input '%U'", format_unformat_error, i);
- return -99;
- }
-
- M(SNAT_DET_SESSION_DUMP, mp);
- clib_memcpy (&mp->user_addr, &user_addr, 4);
- S(mp);
-
- /* Use a control ping for synchronization */
- M(SNAT_CONTROL_PING, mp_ping);
- S(mp_ping);
-
- W (ret);
- return ret;
-}
-
-/*