aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/nat
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/nat')
-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'