diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2018-05-10 08:41:03 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2018-05-17 05:20:09 +0000 |
commit | 58bb277ee19627abbf5d8c7e77aeacfe8b63995f (patch) | |
tree | 274497583238d25fbcdc3b827d18adecf2597144 /nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang | |
parent | 03f6001049d60c59c81408c472996cba4e703a75 (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.yang | 68 |
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 |