diff options
author | Vladimir Ratnikov <vratnikov@netgate.com> | 2020-04-13 06:36:19 -0400 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2020-04-21 13:33:22 +0000 |
commit | 958919f3633f4b900d9ecabc7fc75e02014e5626 (patch) | |
tree | 906145bafdd1c0e530bda878cddb0450f76396eb | |
parent | 16e4a4a0ae39ebc1ded1b6dba2799b176aee1828 (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.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' |