All Superinterfaces:
org.opendaylight.yangtools.yang.binding.BindingContract<org.opendaylight.yangtools.yang.binding.DataContainer>, org.opendaylight.yangtools.yang.binding.BindingObject, org.opendaylight.yangtools.yang.binding.DataContainer, org.opendaylight.yangtools.yang.binding.DataObject, org.opendaylight.yangtools.yang.binding.DataRoot, InterfacesTop

@Generated("mdsal-binding-generator") public interface OpenconfigInterfacesData extends org.opendaylight.yangtools.yang.binding.DataRoot, InterfacesTop
Model for managing network interfaces and subinterfaces. This module also defines convenience types / groupings for other models to create references to interfaces: base-interface-ref (type) - reference to a base interface interface-ref (grouping) - container for reference to a interface + interface-ref-state (grouping) - container for read-only (opstate) reference to interface + subinterface This model reuses data items defined in the IETF YANG model for interfaces described by RFC 7223 with an alternate structure (particularly for operational state data) and and with additional configuration items.

This class represents the following YANG schema fragment defined in module openconfig-interfaces

 module openconfig-interfaces {
   yang-version 1;
   namespace "http://openconfig.net/yang/interfaces";
   prefix oc-if;
   import ietf-interfaces {
     prefix ietf-if;
   }
   import ietf-yang-types {
     prefix yang;
   }
   import openconfig-extensions {
     prefix oc-ext;
   }
   oc-ext:openconfig-version 1.0.1;
   revision 2016-04-12 {
   }
   typedef base-interface-ref {
     type leafref {
       path /oc-if:interfaces/oc-if:interface/oc-if:name;
     }
   }
   typedef interface-id {
     type string;
   }
   grouping interface-ref-common {
     leaf interface {
       type leafref {
         path /oc-if:interfaces/oc-if:interface/oc-if:name;
       }
     }
     leaf subinterface {
       type leafref {
         path /oc-if:interfaces/oc-if:interface[oc-if:name=current()/../interface]/oc-if:subinterfaces/oc-if:subinterface/oc-if:index;
       }
     }
   }
   grouping interface-ref-state-container {
     container state {
       config false;
       uses interface-ref-common;
     }
   }
   grouping interface-ref {
     container interface-ref {
       container config {
         uses interface-ref-common;
       }
       uses interface-ref-state-container;
     }
   }
   grouping interface-ref-state {
     container interface-ref {
       uses interface-ref-state-container;
     }
   }
   grouping interface-common-config {
     leaf name {
       type string;
     }
     leaf description {
       type string;
     }
     leaf enabled {
       type boolean;
       default true;
     }
   }
   grouping interface-phys-config {
     leaf type {
       type identityref {
         base interface-type;
       }
     }
     leaf mtu {
       type uint16;
     }
     uses interface-common-config;
   }
   grouping interface-phys-holdtime-config {
     leaf up {
       type uint32;
       units milliseconds;
       default 0;
     }
     leaf down {
       type uint32;
       units milliseconds;
       default 0;
     }
   }
   grouping interface-phys-holdtime-state {
   }
   grouping interface-phys-holdtime-top {
     container hold-time {
       container config {
         uses interface-phys-holdtime-config;
       }
       container state {
         config false;
         uses interface-phys-holdtime-config;
         uses interface-phys-holdtime-state;
       }
     }
   }
   grouping interface-common-state {
     leaf ifindex {
       type uint32;
     }
     leaf admin-status {
       type enumeration {
         enum UP {
         }
         enum DOWN {
         }
         enum TESTING {
         }
       }
     }
     leaf oper-status {
       type enumeration {
         enum UP {
           value 1;
         }
         enum DOWN {
           value 2;
         }
         enum TESTING {
           value 3;
         }
         enum UNKNOWN {
           value 4;
         }
         enum DORMANT {
           value 5;
         }
         enum NOT_PRESENT {
           value 6;
         }
         enum LOWER_LAYER_DOWN {
           value 7;
         }
       }
     }
     leaf last-change {
       type yang:timeticks;
     }
   }
   grouping interface-counters-state {
     container counters {
       leaf in-octets {
         type yang:counter64;
       }
       leaf in-unicast-pkts {
         type yang:counter64;
       }
       leaf in-broadcast-pkts {
         type yang:counter64;
       }
       leaf in-multicast-pkts {
         type yang:counter64;
       }
       leaf in-discards {
         type yang:counter64;
       }
       leaf in-errors {
         type yang:counter64;
       }
       leaf in-unknown-protos {
         type yang:counter32;
       }
       leaf out-octets {
         type yang:counter64;
       }
       leaf out-unicast-pkts {
         type yang:counter64;
       }
       leaf out-broadcast-pkts {
         type yang:counter64;
       }
       leaf out-multicast-pkts {
         type yang:counter64;
       }
       leaf out-discards {
         type yang:counter64;
       }
       leaf out-errors {
         type yang:counter64;
       }
       leaf last-clear {
         type yang:date-and-time;
       }
     }
   }
   grouping sub-unnumbered-config {
     leaf enabled {
       type boolean;
       default false;
     }
   }
   grouping sub-unnumbered-state {
   }
   grouping sub-unnumbered-top {
     container unnumbered {
       container config {
         uses sub-unnumbered-config;
       }
       container state {
         config false;
         uses sub-unnumbered-config;
         uses sub-unnumbered-state;
       }
       uses oc-if:interface-ref;
     }
   }
   grouping subinterfaces-config {
     leaf index {
       type uint32;
       default 0;
     }
     uses interface-common-config;
   }
   grouping subinterfaces-state {
     uses interface-common-state;
     uses interface-counters-state;
   }
   grouping subinterfaces-top {
     container subinterfaces {
       list subinterface {
         key index;
         leaf index {
           type leafref {
             path ../oc-if:config/oc-if:index;
           }
         }
         container config {
           uses subinterfaces-config;
         }
         container state {
           config false;
           uses subinterfaces-config;
           uses subinterfaces-state;
         }
       }
     }
   }
   grouping interfaces-top {
     container interfaces {
       list interface {
         key name;
         leaf name {
           type leafref {
             path ../oc-if:config/oc-if:name;
           }
         }
         container config {
           uses interface-phys-config;
         }
         container state {
           config false;
           uses interface-phys-config;
           uses interface-common-state;
           uses interface-counters-state;
         }
         uses interface-phys-holdtime-top;
         uses subinterfaces-top;
       }
     }
   }
   uses interfaces-top;
 }