summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Ratnikov <vratnikov@netgate.com>2020-04-13 06:36:19 -0400
committerOle Trøan <otroan@employees.org>2020-04-21 13:33:22 +0000
commit958919f3633f4b900d9ecabc7fc75e02014e5626 (patch)
tree906145bafdd1c0e530bda878cddb0450f76396eb
parent16e4a4a0ae39ebc1ded1b6dba2799b176aee1828 (diff)
nat: dslite ce mode in separate config entry
Previously dslite was moved to separate plugin folder and CE mode was removed. But it still needed. This patch adds CE option to separate config entry Type: feature Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com> Change-Id: If153ae08fa385ba5a6605cb412e49bbb4d1db46c
-rw-r--r--src/plugins/nat/dslite/dslite.c15
-rw-r--r--src/plugins/nat/test/test_dslite.py9
2 files changed, 20 insertions, 4 deletions
diff --git a/src/plugins/nat/dslite/dslite.c b/src/plugins/nat/dslite/dslite.c
index e03dd0c8431..ebf8afac9f3 100644
--- a/src/plugins/nat/dslite/dslite.c
+++ b/src/plugins/nat/dslite/dslite.c
@@ -114,6 +114,21 @@ dslite_set_ce (dslite_main_t * dm, u8 set)
dm->is_ce = (set != 0);
}
+static clib_error_t *
+dslite_config (vlib_main_t * vm, unformat_input_t * input)
+{
+ dslite_main_t *dm = &dslite_main;
+
+ while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
+ {
+ if (unformat (input, "ce"))
+ dslite_set_ce (dm, 1);
+ }
+ return 0;
+}
+
+VLIB_CONFIG_FUNCTION (dslite_config, "dslite");
+
int
dslite_set_aftr_ip6_addr (dslite_main_t * dm, ip6_address_t * addr)
{
diff --git a/src/plugins/nat/test/test_dslite.py b/src/plugins/nat/test/test_dslite.py
index dfa7d7c7c21..af256e39fc4 100644
--- a/src/plugins/nat/test/test_dslite.py
+++ b/src/plugins/nat/test/test_dslite.py
@@ -231,13 +231,13 @@ class TestDSlite(VppTestCase):
self.logger.info(self.vapi.cli("show dslite sessions"))
-class TestDSliteCE():
+class TestDSliteCE(VppTestCase):
""" DS-Lite CE Test Cases """
@classmethod
def setUpConstants(cls):
super(TestDSliteCE, cls).setUpConstants()
- cls.vpp_cmdline.extend(["nat", "{", "dslite ce", "}"])
+ cls.vpp_cmdline.extend(["dslite", "{", "ce", "}"])
@classmethod
def setUpClass(cls):
@@ -264,8 +264,9 @@ class TestDSliteCE():
def test_dslite_ce(self):
""" Test DS-Lite CE """
- nat_config = self.vapi.nat_show_config()
- self.assertEqual(1, nat_config.dslite_ce)
+ # TODO: add message to retrieve dslite config
+ # nat_config = self.vapi.nat_show_config()
+ # self.assertEqual(1, nat_config.dslite_ce)
b4_ip4 = '192.0.0.2'
b4_ip6 = '2001:db8:62aa::375e:f4c1:1'