netconfcentral logo

ietf-i2nsf-regs-interface@2017-10-27



  module ietf-i2nsf-regs-interface {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-i2nsf-regs-interface";

    prefix regs-interface;

    import ietf-inet-types {
      prefix inet;
    }

    organization
      "IETF I2NSF (Interface to Network Security Functions)
        Working Group";

    contact
      "WG Web: <http://tools.ietf.org/wg/i2nsf>
       WG List: <mailto:i2nsf@ietf.org>

       WG Chair: Adrian Farrel
       <mailto:Adrain@olddog.co.uk>

       WG Chair: Linda Dunbar
       <mailto:Linda.duhbar@huawei.com>

       Editor: Sangwon Hyun
       <mailto:swhyun77@skku.edu>

       Editor: Taekyun Roh
       <mailto:tkroh@imtl.skku.ac.kr>

       Editor: Sarang Wi
       <mailto:sarang@imtl.skku.ac.kr>

       Editor: Jaehoon Paul Jeong
       <mailto:pauljeong@skku.edu>

       Editor: Jung-Soo Park
       <mailto:pjs@etri.re.kr>";

    description
      "It defines a YANG data module for Registration Interface.";

    revision "2017-10-27" {
      description "The second revision";
      reference
        "draft-hares-i2nsf-capability-data-model-03
         draft-hyun-i2nsf-registration-interface-im-03.txt";

    }


    grouping i2nsf-nsf-performance-caps {
      description
        "NSF performance capailities";
      container processing {
        description "processing info";
        leaf processing-average {
          type uint16;
          description "processing-average";
        }

        leaf processing-peak {
          type uint16;
          description "processing peak";
        }
      }  // container processing

      container bandwidth {
        description "bandwidth info";
        container inbound {
          description "inbound";
          leaf inbound-average {
            type uint16;
            description "inbound-average";
          }

          leaf inbound-peak {
            type uint16;
            description "inbound-peak";
          }
        }  // container inbound

        container outbound {
          description "outbound";
          leaf outbound-average {
            type uint16;
            description "outbound-average";
          }

          leaf outbound-peak {
            type uint16;
            description "outbound-peak";
          }
        }  // container outbound
      }  // container bandwidth
    }  // grouping i2nsf-nsf-performance-caps

    grouping i2nsf-nsf-profile {
      description
        "Detail information of an NSF";
      container performance-capability {
        description "performance-capability";
        uses i2nsf-nsf-performance-caps;
      }  // container performance-capability

      container i2nsf-capability {
        description
          "It refers draft-hares-i2nsf-capability-data-model-04.txt
       later";
      }  // container i2nsf-capability
    }  // grouping i2nsf-nsf-profile

    grouping i2nsf-nsf-access-info {
      description "NSF access information";
      leaf nsf-address {
        type inet:ipv4-address;
        mandatory true;
        description "nsf-address";
      }

      leaf nsf-port-address {
        type inet:port-number;
        description "nsf-port-address";
      }
    }  // grouping i2nsf-nsf-access-info

    grouping i2nsf-regs-req {
      description
        "The capability information of newly created NSF to notify its
      capability to Security Controller";
      container nsf-profile {
        description "nsf-profile";
        uses i2nsf-nsf-profile;
      }  // container nsf-profile

      container nsf-access-info {
        description "nsf-access-info";
        uses i2nsf-nsf-access-info;
      }  // container nsf-access-info
    }  // grouping i2nsf-regs-req

    grouping i2nsf-instance-mgnt-req {
      description
        "Required information for instanceiation-request and
      deinstanciation-request";
      leaf req-level {
        type uint16;
        description "req-level";
      }

      leaf req-id {
        type uint64;
        mandatory true;
        description "req-id";
      }

      choice req-type {
        description "req-type";
        case instanciation-request {
          description
            "instanciation-request";
          container nsf-profile {
            description "nsf-profile";
            uses i2nsf-nsf-profile;
          }  // container nsf-profile
        }  // case instanciation-request

        case deinstanciation-request {
          description
            "deinstanciation-request";
          container nsf-access-info {
            description "nsf-access-info";
            uses i2nsf-nsf-access-info;
          }  // container nsf-access-info
        }  // case deinstanciation-request
      }  // choice req-type
    }  // grouping i2nsf-instance-mgnt-req
  }  // module ietf-i2nsf-regs-interface