Interface BmpMessageData

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.DataRoot

    @Generated("mdsal-binding-generator")
    public interface BmpMessageData
    extends org.opendaylight.yangtools.yang.binding.DataRoot
    This module contains the base data model of a BMP messages. It rolls up the definitions contained in RFC7854. Copyright (c)2015 Cisco Systems, Inc. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html

    This class represents the following YANG schema fragment defined in module bmp-message

     module bmp-message {
       yang-version 1;
       namespace urn:opendaylight:params:xml:ns:yang:bmp-message;
       prefix bmp-msg;
       import bgp-message {
         prefix bgp-msg;
         revision-date 2020-01-20;
       }
       import bgp-multiprotocol {
         prefix bgp-mp;
         revision-date 2018-03-29;
       }
       import ietf-inet-types {
         prefix inet;
         revision-date 2013-07-15;
       }
       import ietf-yang-types {
         prefix yang;
         revision-date 2013-07-15;
       }
       import bgp-types {
         prefix bgp-t;
         revision-date 2020-01-20;
       }
       revision 2020-01-20 {
       }
       revision 2018-03-29 {
       }
       revision 2017-12-07 {
       }
       revision 2015-05-12 {
       }
       typedef reason {
         type enumeration {
           enum administratively-closed {
             value 0;
           }
           enum unspecified {
             value 1;
           }
           enum out-of-resources {
             value 2;
           }
           enum redundant-connection {
             value 3;
           }
           enum permanently-closed {
             value 4;
           }
         }
       }
       typedef adj-rib-in-type {
         type enumeration {
           enum pre-policy {
             value 0;
           }
           enum post-policy {
             value 1;
           }
         }
       }
       typedef peer-type {
         type enumeration {
           enum global {
             value 0;
           }
           enum l3vpn {
             value 1;
           }
           enum local {
             value 2;
           }
         }
       }
       typedef mirror-information-code {
         type enumeration {
           enum errored-pdu {
             value 0;
           }
           enum message-lost {
             value 1;
           }
         }
       }
       grouping tlv {
       }
       grouping string-tlv {
         container string-tlv {
           uses tlv;
           leaf string-info {
             type string;
           }
         }
       }
       grouping description-tlv {
         container description-tlv {
           uses tlv;
           leaf description {
             type string;
           }
         }
       }
       grouping name-tlv {
         container name-tlv {
           uses tlv;
           leaf name {
             type string;
           }
         }
       }
       grouping string-informations {
         list string-information {
           uses string-tlv;
         }
       }
       grouping initiation-tlvs {
         uses string-informations;
         uses description-tlv;
         uses name-tlv;
       }
       grouping reason-tlv {
         container reason-tlv {
           uses tlv;
           leaf reason {
             type reason;
           }
         }
       }
       grouping termination-tlvs {
         uses string-informations;
         uses reason-tlv;
       }
       grouping mirror-information-tlv {
         container mirror-information-tlv {
           uses tlv;
           leaf code {
             type mirror-information-code;
           }
         }
       }
       grouping mirror-pdu-tlvs {
         container pdu-update-tlv {
           uses tlv;
           uses bgp-msg:update-message;
         }
         container pdu-open-tlv {
           uses tlv;
           uses bgp-msg:open-message;
         }
       }
       grouping mirror-tlvs {
         uses mirror-information-tlv;
         uses mirror-pdu-tlvs;
       }
       grouping mirror {
         container tlvs {
           uses mirror-tlvs;
         }
       }
       grouping count-tlv {
         uses tlv;
         leaf count {
           type yang:counter32;
         }
       }
       grouping gauge-tlv {
         uses tlv;
         leaf count {
           type yang:gauge64;
         }
       }
       grouping afi-safi-gauge-tlv {
         uses tlv;
         uses bgp-mp:bgp-table-type;
         leaf count {
           type yang:gauge64;
         }
       }
       grouping stat-tlvs {
         container rejected-prefixes-tlv {
           uses count-tlv;
         }
         container duplicate-prefix-advertisements-tlv {
           uses count-tlv;
         }
         container duplicate-withdraws-tlv {
           uses count-tlv;
         }
         container invalidated-cluster-list-loop-tlv {
           uses count-tlv;
         }
         container invalidated-as-path-loop-tlv {
           uses count-tlv;
         }
         container invalidated-originator-id-tlv {
           uses count-tlv;
         }
         container invalidated-as-confed-loop-tlv {
           uses count-tlv;
         }
         container adj-ribs-in-routes-tlv {
           uses gauge-tlv;
         }
         container loc-rib-routes-tlv {
           uses gauge-tlv;
         }
         container per-afi-safi-adj-rib-in-tlv {
           uses afi-safi-gauge-tlv;
         }
         container per-afi-safi-loc-rib-tlv {
           uses afi-safi-gauge-tlv;
         }
         container updates-treated-as-withdraw-tlv {
           uses count-tlv;
         }
         container prefixes-treated-as-withdraw-tlv {
           uses count-tlv;
         }
         container duplicate-updates-tlv {
           uses count-tlv;
         }
       }
       grouping timestamp {
         leaf timestamp-sec {
           type yang:timestamp;
           default 0;
         }
         leaf timestamp-micro {
           type yang:timestamp;
           default 0;
         }
       }
       grouping peer {
         leaf type {
           type peer-type;
         }
         leaf peer-distinguisher {
           type union {
             type bgp-t:route-distinguisher;
             type binary {
               length 8;
             }
           }
         }
         leaf address {
           type inet:ip-address-no-zone;
         }
         leaf as {
           type inet:as-number;
         }
         leaf bgp-id {
           type inet:ipv4-address-no-zone;
         }
       }
       grouping peer-header {
         container peer-header {
           uses peer;
           uses timestamp;
           leaf adj-rib-in-type {
             type adj-rib-in-type;
           }
           leaf ipv4 {
             type boolean;
           }
         }
       }
       grouping stat {
         container tlvs {
           uses stat-tlvs;
         }
       }
       grouping open-msg {
         uses bgp-msg:open-message {
           augment bgp-parameters/optional-capabilities/c-parameters {
             uses bgp-mp:mp-capabilities;
           }
         }
       }
       grouping peer-up {
         leaf local-address {
           type inet:ip-address-no-zone;
         }
         leaf local-port {
           type inet:port-number;
         }
         leaf remote-port {
           type inet:port-number;
         }
         container sent-open {
           uses open-msg;
         }
         container received-open {
           uses open-msg;
         }
         container information {
           uses string-informations;
         }
       }
       grouping peer-down {
         leaf local-system-closed {
           type boolean;
         }
         choice data {
           container notification {
             uses bgp-msg:notify-message;
           }
           leaf fsm-event-code {
             type uint16;
             default 0;
           }
         }
       }
       grouping initiation {
         container tlvs {
           uses initiation-tlvs;
         }
       }
       grouping termination {
         container tlvs {
           uses termination-tlvs;
         }
       }
       notification initiation-message {
         uses initiation;
       }
       notification termination-message {
         uses termination;
       }
       notification route-monitoring-message {
         uses peer-header;
         container update {
           uses bgp-msg:update-message;
         }
       }
       notification route-mirroring-message {
         uses peer-header;
         uses mirror;
       }
       notification stats-reports-message {
         uses peer-header;
         uses stat;
       }
       notification peer-down-notification {
         uses peer-header;
         uses peer-down;
       }
       notification peer-up-notification {
         uses peer-header;
         uses peer-up;
       }
     }