From: Vladimir Ratnikov Date: Mon, 13 Apr 2020 10:36:19 +0000 (-0400) Subject: nat: dslite ce mode in separate config entry X-Git-Tag: v20.09-rc0~178 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=958919f3633f4b900d9ecabc7fc75e02014e5626 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 --- 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'