openconfig-if-sdn-ext

This module provides extensions to the OpenConfig interfaces module for network elements that support external 'SDN' control of ...

  • Version: 2024-02-21

    openconfig-if-sdn-ext@2024-02-21


    
      module openconfig-if-sdn-ext {
    
        yang-version 1;
    
        namespace
          "http://openconfig.net/interfaces/sdn-ext";
    
        prefix oc-if-sdn;
    
        import openconfig-extensions {
          prefix oc-ext;
        }
        import openconfig-interfaces {
          prefix oc-if;
        }
    
        organization "OpenConfig working group";
    
        contact "www.openconfig.net";
    
        description
          "This module provides extensions to the OpenConfig interfaces
        module for network elements that support external 'SDN' control
        of their interfaces.";
    
        revision "2024-02-21" {
          description "Initial revision.";
          reference
            "0.2.0";
    
        }
    
        revision "2021-03-30" {
          description "Initial revision.";
          reference
            "0.1.0";
    
        }
    
        oc-ext:catalog-organization "openconfig";
        oc-ext:origin "openconfig";
        oc-ext:openconfig-version "0.2.0";
    
        grouping sdn-interface-config {
          description
            "Configuration parameters applicable to interfaces on devices
          that support SDN control.";
          leaf forwarding-viable {
            type boolean;
            default 'true';
            description
              "This value indicates whether the interface may be used
            to route traffic or not.  If set to false, the
            interface is not used for forwarding traffic, but as long as
            it is up, the interface still maintains its layer-2
            adjacencies and runs its configured layer-2 functions
            (e.g., LLDP, etc.).
            This is used by an external programming entity to disable an interface
            (usually part of an aggregate) for the purposes of forwarding
            traffic. This allows a logical aggregate to continue to be
            used with partial capacity. Setting `forwarding-viable = false` is not
            equivalent to administratively disabling the interface.
            Some rules to follow when an interface or aggregate interface is set for
            Forwarding-viable=False:
              1. Aggregate interface '/interfaces/interface/aggregation/state/min-links'
               checks should be evaluated based on
              `/interfaces/interface/state/oper-status`.  'min-links' should not be
              affected by the use of forwarding viable.
    
              2. L2 protocols like LLDP and LACP must be processed normally on
              transmit and receive on such ports/bundles.  IS-IS PDUs should be
              handled as per the requirements for L3 packets below.
    
              3. L3 packets must not be transmitted on the interface.
    
              4. Received L3 packets must be processed normally.  Received data-plane
              traffic will continue to forwarded to its destination post FIB lookup.
              Received control-plane traffic must also be processed normally.
    
              5. It is possible that the dead-interval or hold-down timer of L3
              protocols like IS-IS/BGP on the peer router may expire taking down the
              adjacency or peering on that connection. However, the peer may still
              continue to transmit packets which are received by the local device.
              These received packet should continue to be processed normally as
              per rule #4 above.
    
              For example, if the peer's forwarding table is programmed using gRIBI
              by an external controller, the local device will continue to receive
              packets.
    
              6. An implementation should follow rule #3 even when the subject
              interface on the local device is the last resort of communication for a
              given destination.  For example, the only nexthop for a destination is
              an aggregate interface which has all member interfaces set to
              forwarding-viable = false.  In this scenario all L3 packets for that
              destination will be dropped.";
          }
        }  // grouping sdn-interface-config
    
        augment /oc-if:interfaces/oc-if:interface/oc-if:config {
          description
            "Add SDN extensions to interface intended configuration.";
          uses sdn-interface-config;
        }
    
        augment /oc-if:interfaces/oc-if:interface/oc-if:state {
          description
            "Add SDN extensions to interface applied configuration.";
          uses sdn-interface-config;
        }
      }  // module openconfig-if-sdn-ext
    

© 2023 YumaWorks, Inc. All rights reserved.