summaryrefslogtreecommitdiffstats
path: root/nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2018-05-10 08:41:03 +0200
committerMarek Gradzki <mgradzki@cisco.com>2018-05-17 05:20:09 +0000
commit58bb277ee19627abbf5d8c7e77aeacfe8b63995f (patch)
tree274497583238d25fbcdc3b827d18adecf2597144 /nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang
parent03f6001049d60c59c81408c472996cba4e703a75 (diff)
HC2VPP-321: bump nat model to ietf-nat@2018-02-23.yang
Uses ietf-nat module as defined in https://tools.ietf.org/html/draft-ietf-opsawg-nat-yang-14 Modifications to original model: - ip-address is used instead of ip-prefix (draft is not clear, see HC2VPP-325). API changes relevant to HC/VPP: - nat-config and nat-state merged into nat container - nat-instances and nat-instace renamed to instances and instance respectively - external-ip-address-pool has new parent - policy list - port-type choice was removed, port is now defined using start-port-number and end-port-number leaves. Missing end is equivalent to single-port-number case from the older version. TODOs: - HC2VPP-322: single nat64Prefix per NAT instance - HC2VPP-323: update postman collection - HC2VPP-324: update CSIT tests. Out of the scope of NAT model update: - HC2VPP-326: support for nat-type handling (vpp-nat model might become obsolete) - HC2VPP-327: support external-realm container (requires adding augmentations that are alredy present in the interface-nat model). Change-Id: Ie229a55b0a3f6ee3f8c97f4fd13c54a797a62438 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang')
-rw-r--r--nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang68
1 files changed, 68 insertions, 0 deletions
diff --git a/nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang b/nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang
new file mode 100644
index 000000000..375d89936
--- /dev/null
+++ b/nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang
@@ -0,0 +1,68 @@
+module vpp-nat {
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:vpp:nat";
+ prefix "vpp-nat";
+
+ import ietf-nat {
+ prefix "nat";
+ }
+ import yang-ext {
+ prefix "ext";
+ }
+
+ organization
+ "FD.io - The Fast Data Project";
+
+ contact
+ "Hc2vpp Wiki <https://wiki.fd.io/view/Hc2vpp>
+ Mailing List <hc2vpp@lists.fd.io>";
+
+ description
+ "This module contains a collection of YANG definitions that extend ietf-nat module
+ with VPP specific features provided by the VPP NAT plugin.
+
+ 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.";
+
+ revision "2018-05-10" {
+ description "Adapt to ietf-nat@2018-02-23.";
+ }
+
+ revision "2017-08-04" {
+ description "Initial revision of vpp-nat model.";
+ }
+
+ typedef nat-pool-type {
+ type enumeration {
+ enum "nat44";
+ enum "nat64";
+ }
+ }
+
+ grouping external-ip-address-pool-vpp-attributes {
+ leaf pool-type {
+ type nat-pool-type;
+ description
+ "Indicates whether the pool is designated to be used for nat44 or nat64.";
+ reference
+ "https://git.fd.io/vpp/tree/src/plugins/nat/nat.api";
+ }
+ }
+
+ augment /nat:nat/nat:instances/nat:instance/nat:policy/nat:external-ip-address-pool {
+ ext:augment-identifier "external-ip-address-pool-augmentation";
+
+ uses external-ip-address-pool-vpp-attributes;
+ }
+} \ No newline at end of file