From 61717cc38f321df3e28464336ac4e570aa47b490 Mon Sep 17 00:00:00 2001 From: Klement Sekera Date: Tue, 31 Mar 2020 09:48:02 +0200 Subject: [PATCH] nat: use correct data types for memory sizes Type: fix Signed-off-by: Klement Sekera Change-Id: Id2d181385f109163d4c806eecda166c2087c4b92 --- src/plugins/nat/nat.api | 6 +++--- src/plugins/nat/nat.c | 8 ++++---- src/plugins/nat/nat.h | 4 ++-- src/plugins/nat/nat64.c | 4 ++-- src/plugins/nat/nat64.h | 8 ++++---- src/plugins/nat/nat64_db.c | 4 ++-- src/plugins/nat/nat64_db.h | 4 ++-- src/plugins/nat/nat_api.c | 12 ++++++------ 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/plugins/nat/nat.api b/src/plugins/nat/nat.api index 4567cb5f99c..10e7036608c 100644 --- a/src/plugins/nat/nat.api +++ b/src/plugins/nat/nat.api @@ -110,14 +110,14 @@ define nat_show_config_reply u32 translation_buckets; u32 translation_memory_size; u32 user_buckets; - u32 user_memory_size; + u64 user_memory_size; u32 max_translations_per_user; u32 outside_vrf_id; u32 inside_vrf_id; u32 nat64_bib_buckets; - u32 nat64_bib_memory_size; + u64 nat64_bib_memory_size; u32 nat64_st_buckets; - u32 nat64_st_memory_size; + u64 nat64_st_memory_size; }; enum nat_log_level : u8 diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index fdf6334dd83..8e20df4e64e 100755 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -3917,18 +3917,18 @@ snat_config (vlib_main_t * vm, unformat_input_t * input) snat_main_per_thread_data_t *tsm; u32 static_mapping_buckets = 1024; - u32 static_mapping_memory_size = 64 << 20; + uword static_mapping_memory_size = 64 << 20; u32 nat64_bib_buckets = 1024; u32 nat64_bib_memory_size = 128 << 20; u32 nat64_st_buckets = 2048; - u32 nat64_st_memory_size = 256 << 20; + uword nat64_st_memory_size = 256 << 20; u32 user_buckets = 128; - u32 user_memory_size = 64 << 20; + uword user_memory_size = 64 << 20; u32 translation_buckets = 1024; - u32 translation_memory_size = 128 << 20; + uword translation_memory_size = 128 << 20; u32 max_translations_per_user = ~0; diff --git a/src/plugins/nat/nat.h b/src/plugins/nat/nat.h index d2b114afbbe..187e351d318 100644 --- a/src/plugins/nat/nat.h +++ b/src/plugins/nat/nat.h @@ -711,10 +711,10 @@ typedef struct snat_main_s u8 out2in_dpo; u8 endpoint_dependent; u32 translation_buckets; - u32 translation_memory_size; + uword translation_memory_size; u32 max_translations; u32 user_buckets; - u32 user_memory_size; + uword user_memory_size; u32 max_translations_per_user; u32 outside_vrf_id; u32 outside_fib_index; diff --git a/src/plugins/nat/nat64.c b/src/plugins/nat/nat64.c index 0dbeb5f4171..3aff99ddf85 100644 --- a/src/plugins/nat/nat64.c +++ b/src/plugins/nat/nat64.c @@ -256,8 +256,8 @@ static void nat64_free_out_addr_and_port (struct nat64_db_s *db, u8 protocol); void -nat64_set_hash (u32 bib_buckets, u32 bib_memory_size, u32 st_buckets, - u32 st_memory_size) +nat64_set_hash (u32 bib_buckets, uword bib_memory_size, u32 st_buckets, + uword st_memory_size) { nat64_main_t *nm = &nat64_main; nat64_db_t *db; diff --git a/src/plugins/nat/nat64.h b/src/plugins/nat/nat64.h index a95ded22893..f13334447b0 100644 --- a/src/plugins/nat/nat64.h +++ b/src/plugins/nat/nat64.h @@ -91,9 +91,9 @@ typedef struct /** config parameters */ u32 bib_buckets; - u32 bib_memory_size; + uword bib_memory_size; u32 st_buckets; - u32 st_memory_size; + uword st_memory_size; /** values of various timeouts */ u32 udp_timeout; @@ -359,8 +359,8 @@ void nat64_extract_ip4 (ip6_address_t * ip6, ip4_address_t * ip4, * @param st_buckets Number of session table hash buckets. * @param st_memory_size Memory size of session table hash. */ -void nat64_set_hash (u32 bib_buckets, u32 bib_memory_size, u32 st_buckets, - u32 st_memory_size); +void nat64_set_hash (u32 bib_buckets, uword bib_memory_size, u32 st_buckets, + uword st_memory_size); /** * @brief Get worker thread index for NAT64 in2out. diff --git a/src/plugins/nat/nat64_db.c b/src/plugins/nat/nat64_db.c index 178e483ff98..8c004f14686 100644 --- a/src/plugins/nat/nat64_db.c +++ b/src/plugins/nat/nat64_db.c @@ -23,8 +23,8 @@ #include int -nat64_db_init (nat64_db_t * db, u32 bib_buckets, u32 bib_memory_size, - u32 st_buckets, u32 st_memory_size, +nat64_db_init (nat64_db_t * db, u32 bib_buckets, uword bib_memory_size, + u32 st_buckets, uword st_memory_size, nat64_db_free_addr_port_function_t free_addr_port_cb) { clib_bihash_init_24_8 (&db->bib.in2out, "bib-in2out", bib_buckets, diff --git a/src/plugins/nat/nat64_db.h b/src/plugins/nat/nat64_db.h index e6fa8e727ad..68f048ca59e 100644 --- a/src/plugins/nat/nat64_db.h +++ b/src/plugins/nat/nat64_db.h @@ -153,8 +153,8 @@ typedef struct nat64_db_s * * @returns 0 on success, non-zero value otherwise. */ -int nat64_db_init (nat64_db_t * db, u32 bib_buckets, u32 bib_memory_size, - u32 st_buckets, u32 st_memory_size, +int nat64_db_init (nat64_db_t * db, u32 bib_buckets, uword bib_memory_size, + u32 st_buckets, uword st_memory_size, nat64_db_free_addr_port_function_t free_addr_port_cb); /** diff --git a/src/plugins/nat/nat_api.c b/src/plugins/nat/nat_api.c index a71c888b6c6..5db375ca58f 100644 --- a/src/plugins/nat/nat_api.c +++ b/src/plugins/nat/nat_api.c @@ -104,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); @@ -117,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* */ } -- 2.16.6