X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Fnat_api.c;h=5db375ca58ff85005b2cf8b3271eb746976daa81;hb=61717cc38f321df3e28464336ac4e570aa47b490;hp=d73a0337d2a8d43f1fa6b7cf1d927fb25dcd41a6;hpb=2c6639c695aebf0cd5ac74ad31fd331547fa0126;p=vpp.git diff --git a/src/plugins/nat/nat_api.c b/src/plugins/nat/nat_api.c index d73a0337d2a..5db375ca58f 100644 --- a/src/plugins/nat/nat_api.c +++ b/src/plugins/nat/nat_api.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -103,9 +104,9 @@ vl_api_nat_show_config_t_handler (vl_api_nat_show_config_t * mp) REPLY_MACRO2 (VL_API_NAT_SHOW_CONFIG_REPLY, ({ rmp->translation_buckets = htonl (sm->translation_buckets); - rmp->translation_memory_size = htonl (sm->translation_memory_size); + rmp->translation_memory_size = clib_host_to_net_u64 (sm->translation_memory_size); rmp->user_buckets = htonl (sm->user_buckets); - rmp->user_memory_size = htonl (sm->user_memory_size); + rmp->user_memory_size = clib_host_to_net_u64 (sm->user_memory_size); rmp->max_translations_per_user = htonl (sm->max_translations_per_user); rmp->outside_vrf_id = htonl (sm->outside_vrf_id); rmp->inside_vrf_id = htonl (sm->inside_vrf_id); @@ -116,10 +117,10 @@ vl_api_nat_show_config_t_handler (vl_api_nat_show_config_t * mp) rmp->endpoint_dependent = sm->endpoint_dependent; rmp->out2in_dpo = sm->out2in_dpo; //rmp->dslite_ce = dm->is_ce; - rmp->nat64_bib_buckets = n64m->bib_buckets; - rmp->nat64_bib_memory_size = n64m->bib_memory_size; - rmp->nat64_st_buckets = n64m->st_buckets; - rmp->nat64_st_memory_size = n64m->st_memory_size; + rmp->nat64_bib_buckets = clib_net_to_host_u32(n64m->bib_buckets); + rmp->nat64_bib_memory_size = clib_net_to_host_u64(n64m->bib_memory_size); + rmp->nat64_st_buckets = clib_net_to_host_u32(n64m->st_buckets); + rmp->nat64_st_memory_size = clib_net_to_host_u64(n64m->st_memory_size); })); /* *INDENT-ON* */ } @@ -240,6 +241,28 @@ vl_api_nat_worker_dump_t_print (vl_api_nat_worker_dump_t * mp, void *handle) FINISH; } +static void +vl_api_nat44_session_cleanup_t_handler (vl_api_nat44_session_cleanup_t * mp) +{ + snat_main_t *sm = &snat_main; + vl_api_nat44_session_cleanup_reply_t *rmp; + int rv = 0; + nat44_force_users_cleanup (); + REPLY_MACRO (VL_API_NAT44_SESSION_CLEANUP_REPLY); +} + +static void * +vl_api_nat44_session_cleanup_t_print (vl_api_nat44_session_cleanup_t * mp, + void *handle) +{ + u8 *s; + + s = format (0, "SCRIPT: nat44_session_cleanup"); + + FINISH; +} + + static void vl_api_nat_set_log_level_t_handler (vl_api_nat_set_log_level_t * mp) { @@ -313,6 +336,8 @@ vl_api_nat_set_timeouts_t_handler (vl_api_nat_set_timeouts_t * mp) sm->tcp_transitory_timeout = ntohl (mp->tcp_transitory); sm->icmp_timeout = ntohl (mp->icmp); + sm->min_timeout = nat44_minimal_timeout (sm); + rv = nat64_set_icmp_timeout (ntohl (mp->icmp)); if (rv) goto send_reply; @@ -715,6 +740,28 @@ vl_api_nat_ha_resync_t_print (vl_api_nat_ha_resync_t * mp, void *handle) /*************/ /*** NAT44 ***/ /*************/ +static void +vl_api_nat44_del_user_t_handler (vl_api_nat44_del_user_t * mp) +{ + snat_main_t *sm = &snat_main; + vl_api_nat44_del_user_reply_t *rmp; + ip4_address_t addr; + int rv; + memcpy (&addr.as_u8, mp->ip_address, 4); + rv = nat44_user_del (&addr, ntohl (mp->fib_index)); + REPLY_MACRO (VL_API_NAT44_DEL_USER_REPLY); +} + +static void *vl_api_nat44_del_user_t_print + (vl_api_nat44_del_user_t * mp, void *handle) +{ + u8 *s; + s = format (0, "SCRIPT: nat44_del_user "); + s = format (s, "ip_address %U fib_index %U ", + format_ip4_address, mp->ip_address, ntohl (mp->fib_index)); + FINISH; +} + static void vl_api_nat44_add_del_address_range_t_handler (vl_api_nat44_add_del_address_range_t * mp) @@ -3094,6 +3141,8 @@ _(NAT_CONTROL_PING, nat_control_ping) \ _(NAT_SHOW_CONFIG, nat_show_config) \ _(NAT_SET_WORKERS, nat_set_workers) \ _(NAT_WORKER_DUMP, nat_worker_dump) \ +_(NAT44_DEL_USER, nat44_del_user) \ +_(NAT44_SESSION_CLEANUP, nat44_session_cleanup) \ _(NAT_SET_LOG_LEVEL, nat_set_log_level) \ _(NAT_IPFIX_ENABLE_DISABLE, nat_ipfix_enable_disable) \ _(NAT_SET_TIMEOUTS, nat_set_timeouts) \