netconfcentral logo

ietf-netconf-exi

HTML

ietf-netconf-exi@2014-03-03



  module ietf-netconf-exi {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:netconf:exi:1.0";

    prefix exi;

    import ietf-netconf-monitoring {
      prefix ncm;
      revision-date "2010-10-04";
    }

    organization
      "IETF NETCONF (Network Configuration) Working Group";

    contact
      "Robert Varga <robert.varga@pantheon.sk>";

    description
      "NETCONF Protocol Operations for Efficient XML Interchange.";

    revision "2014-03-03" {
      description
        "Updated with dynamic schema negotiation.";
      reference
        "I-D.varga-netconf-exi-capability-02";

    }

    revision "2013-10-21" {
      description "Initial revision";
      reference
        "I-D.varga-netconf-exi-capability-01";

    }


    typedef exi-alignment {
      type enumeration {
        enum "bit-packed" {
          value 0;
          description
            "Use bit-packed EXI alignment";
        }
        enum "byte-aligned" {
          value 1;
          description
            "Use byte-aligned EXI alignment";
        }
        enum "pre-compression" {
          value 2;
          description
            "Use pre-compression EXI alignment";
        }
        enum "compressed" {
          value 3;
          description
            "Do not set EXI alignment, use EXI compression
                    instead";
        }
      }
      description
        "EXI alignment specification.";
    }

    typedef exi-fidelity {
      type enumeration {
        enum "comments" {
          value 0;
          description
            "Preserve.comments EXI Fidelity option";
        }
        enum "dtd" {
          value 1;
          description
            "Preserve.dtd EXI Fidelity option";
        }
        enum "lexical-values" {
          value 2;
          description
            "Preserve.lexicalValues EXI Fidelity option";
        }
        enum "pis" {
          value 3;
          description
            "Preserve.pis EXI Fidelity option";
        }
        enum "prefixes" {
          value 4;
          description
            "Preserve.prefixes EXI Fidelity option";
        }
      }
      description "EXI fidelity options.";
    }

    rpc start-exi {
      description
        "Start encoding protocol messages in Efficient XML
            Interchange format.";
      reference
        "I-D.varga-netconf-exi-capability";

      input {
        leaf alignment {
          type exi-alignment;
          default "bit-packed";
          description
            "EXI alignment to use.";
        }

        leaf-list fidelity {
          type exi-fidelity;
          description
            "EXI fidelity options to use.";
        }
      }
    }  // rpc start-exi

    rpc stop-exi {
      description
        "Stop encoding protocol messages in Efficient XML
            Interchange format. Revert back to using the usual text
            XML encoding.";
    }  // rpc stop-exi

    grouping schema-identifier {
      description
        "The globally-unique identifier of a schema. This
            grouping contains the verbatim transcription of arguments
            to <get-schema> RPC as defined in RFC6022, except all
            leaves are made mandatory.";
      leaf identifier {
        type string;
        mandatory true;
        description
          "Identifier for the schema list entry.";
      }

      leaf version {
        type string;
        description
          "Version of the schema requested.  If this parameter
                is not present, and more than one version of the
                schema exists on the server, a 'data-not-unique'
                error is returned, as described above.";
      }

      leaf format {
        type identityref {
          base ncm:schema-format;
        }
        description
          "The data modeling language of the schema.  If this
                parameter is not present, and more than one formats
                of the schema exists on the server, a
                'data-not-unique' error is returned, as described
                above.";
      }
    }  // grouping schema-identifier

    typedef exi-schema-id {
      type uint16;
      description
        "Schema identifier for use in the EXI stream header.";
    }

    augment /ncm:netconf-state/ncm:schemas/ncm:schema {
      description
        "Additional information about schemas useful for EXI
            encoding";
      leaf exi-useable {
        type boolean;
        default 'false';
        description
          "Set to true if the device can use the schema for EXI
                Schema-informed encoding.";
      }

      leaf exi-schema-id {
        type exi-schema-id;
        description
          "The EXI schema ID currently assigned to this schema.
                This value has meaning only within the session and
                may differ on other sessions.";
      }
    }

    rpc enable-schema-encoding {
      description
        "Request the use of specificied schema in EXI message
            encoding.  This request is sent by the client to the
            server. If the server is able to transition into using
            the schema, it assigns it a unique EXI integer
            identifier.  This identifier is to be used in the EXI
            header as schema identifier.

            The server may start using the identifier as soon as it
            enqueus the response. The client may start using the
            identifier as soon as it sees this RPC complete.";
      input {
        uses schema-identifier;
      }

      output {
        leaf exi-schema-id {
          type exi-schema-id;
          mandatory true;
          description
            "The EXI Schema ID assigned to this schema for
                    encoding purposes.";
        }
      }
    }  // rpc enable-schema-encoding

    rpc disable-schema-encoding {
      description
        "This RPC is send by the client when it stops using a
            particular exi-schema-id.";
      input {
        leaf exi-schema-id {
          type exi-schema-id;
          mandatory true;
          description
            "The EXI Schema ID which should be disabled.";
        }
      }
    }  // rpc disable-schema-encoding
  }  // module ietf-netconf-exi

Summary

  
  
Organization IETF NETCONF (Network Configuration) Working Group
  
Module ietf-netconf-exi
Version 2014-03-03
File ietf-netconf-exi@2014-03-03.yang
  
Prefix exi
Namespace urn:ietf:params:xml:ns:netconf:exi:1.0
  
Cooked /cookedmodules/ietf-netconf-exi/2014-03-03
YANG /src/ietf-netconf-exi@2014-03-03.yang
XSD /xsd/ietf-netconf-exi@2014-03-03.xsd
  
Abstract NETCONF Protocol Operations for Efficient XML Interchange.
  
Contact
Robert Varga <robert.varga@pantheon.sk>

Description

 
NETCONF Protocol Operations for Efficient XML Interchange.

Typedefs

Typedef Base type Abstract
exi-alignment enumeration EXI alignment specification.
exi-fidelity enumeration EXI fidelity options.
exi-schema-id uint16 Schema identifier for use in the EXI stream header.

Groupings

Grouping Objects Abstract
schema-identifier identifier version format The globally-unique identifier of a schema. This grouping contains the verbatim transcription of arguments to <get-schema> RPC as defined in RFC6022, except all leaves are made mandatory.

RPC Methods

RPC Abstract
disable-schema-encoding This RPC is send by the client when it stops using a particular exi-schema-id.
enable-schema-encoding Request the use of specificied schema in EXI message encoding. This request is sent by the client to the server. If the server is able to transition into using the schema, it assigns it a unique EXI integer identifier. This identifier is to be used in t...
start-exi Start encoding protocol messages in Efficient XML Interchange format.
stop-exi Stop encoding protocol messages in Efficient XML Interchange format. Revert back to using the usual text XML encoding.