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 snat_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, snat_interface_add_del_output_feature message is used to enable NAT. By default snat_interface_add_del_feature is used."; reference "https://git.fd.io/vpp/tree/src/plugins/snat/snat.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; } }