HC2VPP-321: bump nat model to ietf-nat@2018-02-23.yang 16/12516/10
authorMarek Gradzki <mgradzki@cisco.com>
Thu, 10 May 2018 06:41:03 +0000 (08:41 +0200)
committerMarek Gradzki <mgradzki@cisco.com>
Thu, 17 May 2018 05:20:09 +0000 (05:20 +0000)
commit58bb277ee19627abbf5d8c7e77aeacfe8b63995f
tree274497583238d25fbcdc3b827d18adecf2597144
parent03f6001049d60c59c81408c472996cba4e703a75
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>
29 files changed:
nat/nat-api/src/main/yang/ietf-nat@2015-09-08.yang [deleted file]
nat/nat-api/src/main/yang/ietf-nat@2018-02-23.yang [new file with mode: 0644]
nat/nat-api/src/main/yang/vpp-nat@2018-05-10.yang [moved from nat/nat-api/src/main/yang/vpp-nat@2017-08-04.yang with 77% similarity]
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/NatIds.java [new file with mode: 0644]
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/read/ExternalIpPoolCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/read/MappingEntryCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/read/Nat64PrefixesCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/read/NatInstanceCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/read/NatReaderFactory.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/util/MappingEntryContext.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/write/ExternalIpPoolCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/write/MappingEntryCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/write/Nat64PrefixesCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/write/NatInstaceCustomizer.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/write/NatWriterFactory.java
nat/nat2vpp/src/main/java/io/fd/hc2vpp/nat/write/PolicyCustomizer.java [new file with mode: 0644]
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/NatTestSchemaContext.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/read/ExternalIpPoolCustomizerTest.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/read/MappingEntryCustomizerTest.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/read/Nat64PrefixesCustomizerTest.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/read/NatInstanceCustomizerTest.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/util/MappingEntryContextTest.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/write/ExternalIpPoolCustomizerTest.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/write/MappingEntryCustomizerTest.java
nat/nat2vpp/src/test/java/io/fd/hc2vpp/nat/write/Nat64PrefixesCustomizerTest.java
nat/nat2vpp/src/test/resources/nat44/external-ip-pool.json
nat/nat2vpp/src/test/resources/nat64/external-ip-pool.json
nat/nat2vpp/src/test/resources/nat64/static-mapping-address-update.json
nat/nat2vpp/src/test/resources/nat64/static-mapping.json