aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/nat/nat44-ei/nat44_ei.api2
-rw-r--r--src/plugins/nat/nat44-ei/nat44_ei.c6
-rw-r--r--test/test_nat44_ei.py6
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 """