From 9f9d2614ff5bd0d2a1729d1793a9bd6ca3def717 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Wed, 18 Apr 2018 08:19:36 +0200 Subject: HC2VPP-313: examples using nnclient library Shows how to configure VPP using nnclient library. Requires following changes to ODL Netconf (HC2VPP-312): - support: https://git.opendaylight.org/gerrit/#/c/69606/ - various fixes to make ODL Netconf compatible with nnclient: https://git.opendaylight.org/gerrit/#/c/71181/ and ncclient library with the following change: https://github.com/marekgr/ncclient/commit/fbc31b06daf114c11dcb6bf1bcfac9127b2e0062 Change-Id: I3dceb8ead6e6f558a3c76f6c1c3b0ba5f7c52f93 Signed-off-by: Marek Gradzki (cherry picked from commit 2e96f3423a2619cd2aa9d188de513723416c15e6) --- examples/ncclient/nat/copy_config_nat.xml | 82 ++++++++++++++++ examples/ncclient/nat/copy_config_nat_update.xml | 103 +++++++++++++++++++++ examples/ncclient/nat/expected_config_nat.xml | 82 ++++++++++++++++ .../ncclient/nat/expected_config_nat_update.xml | 103 +++++++++++++++++++++ examples/ncclient/nat/test_nat.sh | 18 ++++ examples/ncclient/nat/test_nat_update.sh | 20 ++++ 6 files changed, 408 insertions(+) create mode 100644 examples/ncclient/nat/copy_config_nat.xml create mode 100644 examples/ncclient/nat/copy_config_nat_update.xml create mode 100644 examples/ncclient/nat/expected_config_nat.xml create mode 100644 examples/ncclient/nat/expected_config_nat_update.xml create mode 100755 examples/ncclient/nat/test_nat.sh create mode 100755 examples/ncclient/nat/test_nat_update.sh (limited to 'examples/ncclient/nat') diff --git a/examples/ncclient/nat/copy_config_nat.xml b/examples/ncclient/nat/copy_config_nat.xml new file mode 100644 index 000000000..d1441b07f --- /dev/null +++ b/examples/ncclient/nat/copy_config_nat.xml @@ -0,0 +1,82 @@ + + + + + + 0 + + 2 + 172.16.2.123/32 + + + 3 + 10.10.10.1/30 + nat64 + + + 1 + 172.16.2.0/30 + + + + 1 + 10.1.1.3 + static + 6 + + 5678 + + + 1234 + + 2001:db8:85a3::8a2e:370:7334 + + + + 0 + 2001:db8:122:300::/56 + + + + + + + local0 + x:ethernetCsmacd + false + + + loop1 + for testing purposes + x:loopback + + 01:ff:ff:ff:ff:ff + + + + true + + + + + loop0 + for testing purposes + x:loopback + + 00:ff:ff:ff:ff:ff + + + + true + false + + + + + diff --git a/examples/ncclient/nat/copy_config_nat_update.xml b/examples/ncclient/nat/copy_config_nat_update.xml new file mode 100644 index 000000000..6b346cf80 --- /dev/null +++ b/examples/ncclient/nat/copy_config_nat_update.xml @@ -0,0 +1,103 @@ + + + + + + 0 + + 2 + 172.15.2.123/32 + + + 3 + 10.10.10.1/30 + nat64 + + + 5 + 172.16.2.0/30 + + + 6 + 1.2.3.4/32 + nat64 + + + + 1 + 10.1.1.3 + static + 6 + + 5678 + + + 1234 + + 2001:db8:85a3::8a2e:370:7334 + + + + 0 + 2001:db8:122:300::/56 + + + + + + + local0 + x:ethernetCsmacd + false + + + loop3 + for testing purposes + x:loopback + + 03:ff:ff:ff:ff:ff + + + + true + + + + + loop2 + for testing purposes + x:loopback + + 02:ff:ff:ff:ff:ff + + + + true + false + + + + + loop1 + for testing purposes + x:loopback + + 01:ff:ff:ff:ff:ff + + + + loop0 + for testing purposes + x:loopback + + 00:ff:ff:ff:ff:ff + + + + diff --git a/examples/ncclient/nat/expected_config_nat.xml b/examples/ncclient/nat/expected_config_nat.xml new file mode 100644 index 000000000..35a51bc1e --- /dev/null +++ b/examples/ncclient/nat/expected_config_nat.xml @@ -0,0 +1,82 @@ + + + + + + 0 + + 2 + 172.16.2.123/32 + + + 3 + 10.10.10.1/30 + nat64 + + + 1 + 172.16.2.0/30 + + + + 1 + 10.1.1.3 + static + 6 + + 5678 + + + 1234 + + 2001:db8:85a3::8a2e:370:7334 + + + + 0 + 2001:db8:122:300::/56 + + + + + + + local0 + x:ethernetCsmacd + false + + + loop1 + for testing purposes + x:loopback + + 01:ff:ff:ff:ff:ff + + + + true + + + + + loop0 + for testing purposes + x:loopback + + 00:ff:ff:ff:ff:ff + + + + true + false + + + + + diff --git a/examples/ncclient/nat/expected_config_nat_update.xml b/examples/ncclient/nat/expected_config_nat_update.xml new file mode 100644 index 000000000..41891e088 --- /dev/null +++ b/examples/ncclient/nat/expected_config_nat_update.xml @@ -0,0 +1,103 @@ + + + + + + 0 + + 6 + 1.2.3.4/32 + nat64 + + + 5 + 172.16.2.0/30 + + + 2 + 172.15.2.123/32 + + + 3 + 10.10.10.1/30 + nat64 + + + + 1 + 10.1.1.3 + static + 6 + + 5678 + + + 1234 + + 2001:db8:85a3::8a2e:370:7334 + + + + 0 + 2001:db8:122:300::/56 + + + + + + + local0 + x:ethernetCsmacd + false + + + loop1 + for testing purposes + x:loopback + + 01:ff:ff:ff:ff:ff + + + + loop2 + for testing purposes + x:loopback + + 02:ff:ff:ff:ff:ff + + + + true + false + + + + + loop3 + for testing purposes + x:loopback + + 03:ff:ff:ff:ff:ff + + + + true + + + + + loop0 + for testing purposes + x:loopback + + 00:ff:ff:ff:ff:ff + + + + diff --git a/examples/ncclient/nat/test_nat.sh b/examples/ncclient/nat/test_nat.sh new file mode 100755 index 000000000..272a1d6d9 --- /dev/null +++ b/examples/ncclient/nat/test_nat.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Copyright (c) 2018 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +DIR_NAME=$(dirname $0) + +${DIR_NAME}/../test_copy_config.sh ${DIR_NAME}/copy_config_nat.xml ${DIR_NAME}/expected_config_nat.xml diff --git a/examples/ncclient/nat/test_nat_update.sh b/examples/ncclient/nat/test_nat_update.sh new file mode 100755 index 000000000..b37e4c6a9 --- /dev/null +++ b/examples/ncclient/nat/test_nat_update.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Copyright (c) 2018 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +DIR_NAME=$(dirname $0) + +${DIR_NAME}/../test_copy_config.sh ${DIR_NAME}/copy_config_nat.xml ${DIR_NAME}/expected_config_nat.xml + +${DIR_NAME}/../test_copy_config.sh ${DIR_NAME}/copy_config_nat_update.xml ${DIR_NAME}/expected_config_nat_update.xml -- cgit 1.2.3-korg