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

@Generated("mdsal-binding-generator") public interface BgpTypesData extends org.opendaylight.yangtools.yang.binding.DataRoot
This module contains the base concepts contained in RFC4271 and RFC4760. Copyright (c)2013 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 bgp-types

 module bgp-types {
   yang-version 1;
   namespace urn:opendaylight:params:xml:ns:yang:bgp-types;
   prefix bgp-t;
   import ietf-inet-types {
     prefix inet;
     revision-date 2013-07-15;
   }
   import network-concepts {
     prefix netc;
     revision-date 2013-11-25;
   }
   revision 2020-01-20 {
   }
   revision 2018-03-29 {
   }
   revision 2013-09-19 {
   }
   typedef bgp-origin {
     type enumeration {
       enum igp {
         value 0;
       }
       enum egp {
         value 1;
       }
       enum incomplete {
         value 2;
       }
     }
   }
   typedef bgp-id {
     type inet:ipv4-address-no-zone;
   }
   identity address-family {
   }
   identity ipv4-address-family {
     base address-family;
   }
   identity ipv6-address-family {
     base address-family;
   }
   identity subsequent-address-family {
   }
   identity unicast-subsequent-address-family {
     base subsequent-address-family;
   }
   identity mpls-labeled-vpn-subsequent-address-family {
     base subsequent-address-family;
   }
   typedef cluster-identifier {
     type inet:ipv4-address-no-zone;
   }
   typedef short-as-number {
     type inet:as-number {
       range 0..65535;
     }
   }
   typedef route-distinguisher {
     type union {
       type rd-two-octet-as;
       type rd-ipv4;
       type rd-as;
     }
   }
   typedef rd-two-octet-as {
     type string {
       pattern 0:([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9]|65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5]):([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-3][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|4[0-1][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|42[0-8][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|429[0-3][0-9][0-9][0-9][0-9][0-9][0-9]|4294[0-8][0-9][0-9][0-9][0-9][0-9]|42949[0-5][0-9][0-9][0-9][0-9]|429496[0-6][0-9][0-9][0-9]|4294967[0-1][0-9][0-9]|42949672[0-8][0-9]|429496729[0-5]);
     }
   }
   typedef rd-ipv4 {
     type string {
       pattern "((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])):([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9]|65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5])";
     }
   }
   typedef rd-as {
     type string {
       pattern ([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|[1-3][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|4[0-1][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|42[0-8][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|429[0-3][0-9][0-9][0-9][0-9][0-9][0-9]|4294[0-8][0-9][0-9][0-9][0-9][0-9]|42949[0-5][0-9][0-9][0-9][0-9]|429496[0-6][0-9][0-9][0-9]|4294967[0-1][0-9][0-9]|42949672[0-8][0-9]|429496729[0-5]):([0-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-5][0-9][0-9][0-9][0-9]|6[0-4][0-9][0-9][0-9]|65[0-4][0-9][0-9]|655[0-2][0-9]|6553[0-5]);
     }
   }
   typedef encapsulation-tunnel-type {
     type enumeration {
       enum l2tpv3-over-ip {
         value 1;
       }
       enum gre {
         value 2;
       }
       enum transmit-tunnel-endpoint {
         value 3;
       }
       enum ipsec-tunnel-mode {
         value 4;
       }
       enum ip-in-ip-ipsec-transport-mode {
         value 5;
       }
       enum mpls-in-ip-tunnel-ipsec-transport-mode {
         value 6;
       }
       enum ip-in-ip {
         value 7;
       }
       enum vxlan {
         value 8;
       }
       enum nvgre {
         value 9;
       }
       enum mpls {
         value 10;
       }
       enum mpls-in-gre {
         value 11;
       }
       enum vxlan-gpe {
         value 12;
       }
       enum mpls-in-udp {
         value 13;
       }
       enum ipv6-tunnel {
         value 14;
       }
     }
   }
   grouping bgp-aggregator {
     leaf as-number {
       type inet:as-number;
     }
     leaf network-address {
       type inet:ipv4-address-no-zone;
     }
   }
   grouping community {
     leaf as-number {
       type inet:as-number;
     }
     leaf semantics {
       type uint16;
     }
   }
   grouping route-ipv4-extended-community {
     leaf global-administrator {
       type inet:ipv4-address-no-zone;
     }
     leaf local-administrator {
       type uint16;
     }
   }
   grouping link-bandwidth-extended-community {
     leaf bandwidth {
       type netc:bandwidth;
       units "bytes per second";
     }
   }
   grouping as-4-spec-common {
     container as-4-specific-common {
       leaf as-number {
         type inet:as-number;
       }
       leaf local-administrator {
         type uint16;
       }
     }
   }
   grouping encapsulation-extended-community {
     leaf tunnel-type {
       type encapsulation-tunnel-type;
     }
   }
   grouping inet4-specific-extended-community-common {
     container inet4-specific-extended-community-common {
       leaf global-administrator {
         type inet:ipv4-address-no-zone;
       }
       leaf local-administrator {
         type binary {
           length 2;
         }
       }
     }
   }
   grouping source-as-4-extended-community-grouping {
     leaf global-administrator {
       type inet:as-number;
     }
   }
   grouping source-as-extended-community-grouping {
     leaf global-administrator {
       type bgp-t:short-as-number;
     }
   }
   grouping route-target {
   }
   grouping route-target-constrain-default-route-grouping {
     container route-target-constrain-default-route {
       uses route-target;
       presence
         "The presence of this container indicates that the routes
          is a default route target";
     }
   }
   grouping route-target-extended-community-grouping {
     container route-target-extended-community {
       uses route-target;
       leaf global-administrator {
         type short-as-number;
       }
       leaf local-administrator {
         type binary {
           length 4;
         }
       }
     }
   }
   grouping route-target-ipv4-grouping {
     container route-target-ipv4 {
       uses route-target;
       uses route-ipv4-extended-community;
     }
   }
   grouping as-4-route-target-extended-community-grouping {
     container as-4-route-target-extended-community {
       uses route-target;
       uses as-4-spec-common;
     }
   }
   grouping extended-community {
     leaf transitive {
       type boolean;
     }
     choice extended-community {
       case as-specific-extended-community-case {
         container as-specific-extended-community {
           leaf global-administrator {
             type short-as-number;
           }
           leaf local-administrator {
             type binary {
               length 4;
             }
           }
         }
       }
       case inet4-specific-extended-community-case {
         container inet4-specific-extended-community {
           uses inet4-specific-extended-community-common;
           leaf global-administrator {
             status deprecated;
             type inet:ipv4-address-no-zone;
           }
           leaf local-administrator {
             status deprecated;
             type binary {
               length 2;
             }
           }
         }
       }
       case opaque-extended-community-case {
         container opaque-extended-community {
           leaf value {
             type binary {
               length 6;
             }
           }
         }
       }
       case route-target-extended-community-case {
         uses route-target-extended-community-grouping;
       }
       case route-target-ipv4-case {
         uses route-target-ipv4-grouping;
       }
       case as-4-route-target-extended-community-case {
         uses as-4-route-target-extended-community-grouping;
       }
       case route-origin-extended-community-case {
         container route-origin-extended-community {
           leaf global-administrator {
             type short-as-number;
           }
           leaf local-administrator {
             type binary {
               length 4;
             }
           }
         }
       }
       case route-origin-ipv4-case {
         container route-origin-ipv4 {
           uses route-ipv4-extended-community;
         }
       }
       case link-bandwidth-case {
         container link-bandwidth-extended-community {
           uses link-bandwidth-extended-community;
         }
       }
       case as-4-generic-spec-extended-community-case {
         container as-4-generic-spec-extended-community {
           uses as-4-spec-common;
         }
       }
       case as-4-route-origin-extended-community-case {
         container as-4-route-origin-extended-community {
           uses as-4-spec-common;
         }
       }
       case encapsulation-case {
         container encapsulation-extended-community {
           uses encapsulation-extended-community;
         }
       }
       case vrf-route-import-extended-community-case {
         container vrf-route-import-extended-community {
           uses inet4-specific-extended-community-common;
         }
       }
       case source-as-4-extended-community-case {
         container source-as-4-extended-community {
           uses source-as-4-extended-community-grouping;
         }
       }
       case source-as-extended-community-case {
         container source-as-extended-community {
           uses source-as-extended-community-grouping;
         }
       }
     }
   }
   grouping next-hop {
     choice c-next-hop {
       default empty-next-hop-case;
       case ipv4-next-hop-case {
         container ipv4-next-hop {
           leaf global {
             type inet:ipv4-address-no-zone;
           }
         }
       }
       case ipv6-next-hop-case {
         container ipv6-next-hop {
           leaf global {
             type inet:ipv6-address-no-zone;
           }
           leaf link-local {
             type inet:ipv6-address-no-zone;
           }
         }
       }
       case empty-next-hop-case {
         leaf empty-next-hop {
           type empty;
         }
       }
     }
   }
   grouping as-path-segment {
     leaf-list as-sequence {
       type inet:as-number;
       ordered-by user;
       max-elements 255;
     }
     leaf-list as-set {
       type inet:as-number;
     }
   }
   grouping route-distinguisher-grouping {
     leaf route-distinguisher {
       type route-distinguisher;
     }
   }
   grouping orig-route-ip-grouping {
     leaf orig-route-ip {
       type inet:ip-address-no-zone;
     }
   }
 }