From 958919f3633f4b900d9ecabc7fc75e02014e5626 Mon Sep 17 00:00:00 2001 From: Vladimir Ratnikov Date: Mon, 13 Apr 2020 06:36:19 -0400 Subject: [PATCH] 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 Change-Id: If153ae08fa385ba5a6605cb412e49bbb4d1db46c --- src/plugins/nat/dslite/dslite.c | 15 +++++++++++++++ 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' -- 2.16.6