summaryrefslogtreecommitdiffstats
path: root/nat/nat-api/src/main/yang/interface-nat@2017-08-16.yang
diff options
context:
space:
mode:
Diffstat (limited to 'nat/nat-api/src/main/yang/interface-nat@2017-08-16.yang')
-rw-r--r--nat/nat-api/src/main/yang/interface-nat@2017-08-16.yang83
1 files changed, 83 insertions, 0 deletions
diff --git a/nat/nat-api/src/main/yang/interface-nat@2017-08-16.yang b/nat/nat-api/src/main/yang/interface-nat@2017-08-16.yang
new file mode 100644
index 000000000..421d03944
--- /dev/null
+++ b/nat/nat-api/src/main/yang/interface-nat@2017-08-16.yang
@@ -0,0 +1,83 @@
+module interface-nat {
+ yang-version 1;
+ namespace "urn:opendaylight:params:xml:ns:yang:interface:nat";
+ prefix "ifc-nat";
+
+ revision "2017-08-16" {
+ description "Added support for NAT64.";
+ }
+
+ revision "2017-08-01" {
+ description "Added support for nat_interface_add_del_output_feature.";
+ }
+
+ revision "2016-12-14" {
+ description "Initial revision of interface-nat model.";
+ }
+
+ import ietf-interfaces {
+ prefix "if";
+ }
+ import ietf-nat {
+ prefix "nat";
+ }
+ import yang-ext {
+ prefix "ext";
+ }
+
+ description "Augmentations to interfaces model to connect interfaces with nat configuration.";
+
+ grouping interface-nat-vpp-feature-attributes {
+ leaf post-routing {
+ type boolean;
+ default false;
+ description
+ "Indicates whether NAT translation should be applied after routing.
+ If true, nat_interface_add_del_output_feature message is used to enable NAT.
+ By default nat_interface_add_del_feature is used.";
+ reference
+ "https://git.fd.io/vpp/tree/src/plugins/nat/nat.api";
+ }
+
+ leaf nat44-support {
+ type boolean;
+ default true;
+ description
+ "Indicates NAT44 support. Enabled by default in order to preserve compatibility with previous versions of the model.";
+ }
+
+ leaf nat64-support {
+ type boolean;
+ description
+ "Indicates NAT64 support";
+ }
+
+ reference
+ "https://wiki.fd.io/view/VPP/SNAT";
+ }
+
+ grouping interface-nat-attributes {
+ container nat {
+ container inbound {
+ presence "Enables inbound NAT";
+ uses interface-nat-vpp-feature-attributes;
+ }
+ container outbound {
+ presence "Enables outbound NAT";
+ uses interface-nat-vpp-feature-attributes;
+ }
+ }
+ }
+
+ augment /if:interfaces/if:interface {
+ ext:augment-identifier "nat-interface-augmentation";
+
+ uses interface-nat-attributes;
+ }
+
+ augment /if:interfaces-state/if:interface {
+ ext:augment-identifier "nat-interface-state-augmentation";
+
+ uses interface-nat-attributes;
+ }
+} \ No newline at end of file