diff options
-rw-r--r-- | src/plugins/nat/nat44-ei/nat44_ei.api | 2 | ||||
-rw-r--r-- | src/plugins/nat/nat44-ei/nat44_ei.c | 6 | ||||
-rw-r--r-- | test/test_nat44_ei.py | 6 |
3 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/nat/nat44-ei/nat44_ei.api b/src/plugins/nat/nat44-ei/nat44_ei.api index 38251b072dd..9ea1a3a1dde 100644 --- a/src/plugins/nat/nat44-ei/nat44_ei.api +++ b/src/plugins/nat/nat44-ei/nat44_ei.api @@ -13,7 +13,7 @@ * limitations under the License. */ -option version = "1.1.0"; +option version = "1.1.1"; import "vnet/ip/ip_types.api"; import "vnet/interface_types.api"; import "plugins/nat/lib/nat_types.api"; diff --git a/src/plugins/nat/nat44-ei/nat44_ei.c b/src/plugins/nat/nat44-ei/nat44_ei.c index 77c224d0513..3c9a9a85346 100644 --- a/src/plugins/nat/nat44-ei/nat44_ei.c +++ b/src/plugins/nat/nat44-ei/nat44_ei.c @@ -428,6 +428,9 @@ nat44_ei_plugin_enable (nat44_ei_config_t c) if (!c.sessions) c.sessions = 10 * 1024; + if (!c.user_sessions) + c.user_sessions = c.sessions; + nm->rconfig = c; if (!nm->frame_queue_nelts) @@ -448,8 +451,7 @@ nat44_ei_plugin_enable (nat44_ei_config_t c) nm->max_users_per_thread = c.users; nm->max_translations_per_thread = c.sessions; - nm->max_translations_per_user = - c.user_sessions ? c.user_sessions : nm->max_translations_per_thread; + nm->max_translations_per_user = c.user_sessions; nm->inside_vrf_id = c.inside_vrf; nm->inside_fib_index = fib_table_find_or_create_and_lock ( diff --git a/test/test_nat44_ei.py b/test/test_nat44_ei.py index 4160ea2c344..74a082eee0a 100644 --- a/test/test_nat44_ei.py +++ b/test/test_nat44_ei.py @@ -3806,6 +3806,12 @@ class TestNAT44EI(MethodHolder): "Invalid packet (src IP %s translated to %s, but expected %s)" % (p_sent[IP].src, p_recvd[IP].src, a)) + def test_default_user_sessions(self): + """ NAT44EI default per-user session limit is used and reported """ + nat44_ei_config = self.vapi.nat44_ei_show_running_config() + # a nonzero default should be reported for user_sessions + self.assertNotEqual(nat44_ei_config.user_sessions, 0) + class TestNAT44Out2InDPO(MethodHolder): """ NAT44EI Test Cases using out2in DPO """ |