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
This commit is contained in:
Vladimir Ratnikov
2020-04-13 06:36:19 -04:00
committed by Ole Trøan
parent 16e4a4a0ae
commit 958919f363
2 changed files with 20 additions and 4 deletions
+15
View File
@@ -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)
{
+5 -4
View File
@@ -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'