diff options
Diffstat (limited to 'src/plugins/nat')
-rw-r--r-- | src/plugins/nat/dslite/dslite.c | 15 | ||||
-rw-r--r-- | src/plugins/nat/test/test_dslite.py | 9 |
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' |