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

@Generated("mdsal-binding-generator") public interface OdlBgpEvpnData extends org.opendaylight.yangtools.yang.binding.DataRoot
This module contains the base data model of a BGP flow specification. It rolls up the definitions contained in RFC7432. Copyright (c)2016 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 odl-bgp-evpn

 module odl-bgp-evpn {
   yang-version 1;
   namespace urn:opendaylight:params:xml:ns:yang:bgp-evpn;
   prefix bgp-evpn;
   import bgp-types {
     prefix bgp-t;
     revision-date 2020-01-20;
   }
   import ietf-inet-types {
     prefix inet;
     revision-date 2013-07-15;
   }
   import ietf-yang-types {
     prefix yang;
     revision-date 2013-07-15;
   }
   import ietf-routing-types {
     prefix rt-types;
   }
   import network-concepts {
     prefix netc;
     revision-date 2013-11-25;
   }
   import bgp-rib {
     prefix bgp-rib;
     revision-date 2018-03-29;
   }
   import bmp-monitor {
     prefix bmp-mon;
     revision-date 2020-01-20;
   }
   import bgp-message {
     prefix bgp-msg;
     revision-date 2020-01-20;
   }
   import bgp-multiprotocol {
     prefix bgp-mp;
     revision-date 2018-03-29;
   }
   import pmsi-tunnel {
     prefix pmsi;
     revision-date 2020-01-20;
   }
   revision 2020-01-20 {
   }
   revision 2018-03-29 {
   }
   revision 2017-12-13 {
   }
   revision 2017-12-07 {
   }
   revision 2016-03-21 {
   }
   identity l2vpn-address-family {
     base address-family;
   }
   identity evpn-subsequent-address-family {
     base subsequent-address-family;
   }
   typedef nlri-type {
     type enumeration {
       enum eth-a-d-disc {
         value 1;
       }
       enum mac-ip-adv {
         value 2;
       }
       enum inc-mult-eth-tag {
         value 3;
       }
       enum eth-seg {
         value 4;
       }
     }
   }
   typedef esi-type {
     type enumeration {
       enum arbitrary {
         value 0;
       }
       enum lacp-auto-generated {
         value 1;
       }
       enum lan-auto-generated {
         value 2;
       }
       enum mac-auto-generated {
         value 3;
       }
       enum router-id-generated {
         value 4;
       }
       enum as-generated {
         value 5;
       }
     }
   }
   grouping ethernet-tag-id {
     container ethernet-tag-id {
       leaf vlan-id {
         type uint32;
       }
     }
   }
   grouping local-discriminator {
     leaf local-discriminator {
       type uint32;
     }
   }
   grouping esi {
     choice esi {
       case arbitrary-case {
         container arbitrary {
           leaf arbitrary {
             type binary {
               length 9;
             }
           }
         }
       }
       case lacp-auto-generated-case {
         container lacp-auto-generated {
           leaf ce-lacp-mac-address {
             type yang:mac-address;
           }
           leaf ce-lacp-port-key {
             type uint16;
           }
         }
       }
       case lan-auto-generated-case {
         container lan-auto-generated {
           leaf root-bridge-mac-address {
             type yang:mac-address;
           }
           leaf root-bridge-priority {
             type uint16;
           }
         }
       }
       case mac-auto-generated-case {
         container mac-auto-generated {
           leaf system-mac-address {
             type yang:mac-address;
           }
           leaf local-discriminator {
             type rt-types:uint24;
           }
         }
       }
       case router-id-generated-case {
         container router-id-generated {
           leaf router-id {
             type inet:ipv4-address-no-zone;
           }
           uses local-discriminator;
         }
       }
       case as-generated-case {
         container as-generated {
           leaf as {
             type inet:as-number;
           }
           uses local-discriminator;
         }
       }
     }
   }
   grouping ethernet-a-d-route {
     container ethernet-a-d-route {
       uses esi;
       uses ethernet-tag-id;
       leaf mpls-label {
         type netc:mpls-label;
       }
     }
   }
   grouping mac-ip-adv-route {
     container mac-ip-adv-route {
       uses esi;
       uses ethernet-tag-id;
       leaf mac-address {
         type yang:mac-address;
       }
       leaf ip-address {
         type inet:ip-address-no-zone;
       }
       leaf mpls-label1 {
         type netc:mpls-label;
       }
       leaf mpls-label2 {
         type netc:mpls-label;
       }
     }
   }
   grouping inc-multi-ethernet-tag-res {
     container inc-multi-ethernet-tag-res {
       uses ethernet-tag-id;
       uses bgp-t:orig-route-ip-grouping;
     }
   }
   grouping es-route {
     container es-route {
       uses esi;
       uses bgp-t:orig-route-ip-grouping;
     }
   }
   grouping esi-label-extended-community {
     container esi-label-extended-community {
       leaf single-active-mode {
         type boolean;
         default false;
       }
       leaf esi-label {
         type netc:mpls-label;
       }
     }
   }
   grouping es-import-route-extended-community {
     container es-import-route-extended-community {
       leaf es-import {
         type yang:mac-address;
       }
     }
   }
   grouping mac-mobility-extended-community {
     container mac-mobility-extended-community {
       leaf static {
         type boolean;
         default false;
       }
       leaf seq-number {
         type uint32;
       }
     }
   }
   grouping default-gateway-extended-community {
     container default-gateway-extended-community {
       presence
         "The Default Gateway community is an Extended Community of an
          Opaque Type";
     }
   }
   typedef operational-mode {
     type enumeration {
       enum vlan-aware-fxc {
         value 1;
       }
       enum vlan-unaware-fxc {
         value 2;
       }
     }
   }
   typedef normalization-type {
     type enumeration {
       enum single-vid {
         value 1;
       }
       enum double-vid {
         value 2;
       }
     }
   }
   grouping layer-2-attributes-extended-community {
     container layer-2-attributes-extended-community {
       leaf primary-pe {
         type boolean;
         default false;
       }
       leaf backup-pe {
         type boolean;
         default false;
       }
       leaf control-word {
         type boolean;
         default false;
       }
       leaf mode-of-operation {
         type operational-mode;
       }
       leaf operating-per {
         type normalization-type;
       }
       leaf l2-mtu {
         type uint16;
       }
     }
   }
   grouping evpn-destination {
     list evpn-destination {
       uses evpn;
       uses bgp-msg:path-id-grouping;
     }
   }
   grouping evpn-routes {
     container evpn-routes {
       list evpn-route {
         key "route-key path-id";
         uses evpn;
         uses pmsi:bgp-rib-route {
           augment attributes/extended-communities/extended-community {
             case esi-label-extended-community-case {
               uses esi-label-extended-community;
             }
             case es-import-route-extended-community-case {
               uses es-import-route-extended-community;
             }
             case mac-mobility-extended-community-case {
               uses mac-mobility-extended-community;
             }
             case default-gateway-extended-community-case {
               uses default-gateway-extended-community;
             }
             case layer-2-attributes-extended-community-case {
               uses layer-2-attributes-extended-community;
             }
           }
         }
       }
     }
   }
   grouping evpn {
     choice evpn-choice {
       case ethernet-a-d-route-case {
         uses ethernet-a-d-route;
       }
       case mac-ip-adv-route-case {
         uses mac-ip-adv-route;
       }
       case inc-multi-ethernet-tag-res-case {
         uses inc-multi-ethernet-tag-res;
       }
       case es-route-case {
         uses es-route;
       }
     }
     uses bgp-t:route-distinguisher-grouping;
   }
   augment /bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-reach-nlri/bgp-mp:advertized-routes/bgp-mp:destination-type {
     case destination-evpn-case {
       container destination-evpn {
         uses evpn-destination;
       }
     }
   }
   augment /bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-unreach-nlri/bgp-mp:withdrawn-routes/bgp-mp:destination-type {
     case destination-evpn-case {
       container destination-evpn {
         uses evpn-destination;
       }
     }
   }
   augment /bgp-rib:application-rib/bgp-rib:tables/bgp-rib:routes {
     case evpn-routes-case {
       uses evpn-routes;
     }
   }
   augment /bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:loc-rib/bgp-rib:tables/bgp-rib:routes {
     case evpn-routes-case {
       uses evpn-routes;
     }
   }
   augment /bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-in/bgp-rib:tables/bgp-rib:routes {
     case evpn-routes-case {
       uses evpn-routes;
     }
   }
   augment /bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:effective-rib-in/bgp-rib:tables/bgp-rib:routes {
     case evpn-routes-case {
       uses evpn-routes;
     }
   }
   augment /bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-out/bgp-rib:tables/bgp-rib:routes {
     case evpn-routes-case {
       uses evpn-routes;
     }
   }
   augment /bmp-mon:bmp-monitor/bmp-mon:monitor/bmp-mon:router/bmp-mon:peer/bmp-mon:pre-policy-rib/bmp-mon:tables/bmp-mon:routes {
     case evpn-routes-case {
       uses evpn-routes;
     }
   }
   augment /bmp-mon:bmp-monitor/bmp-mon:monitor/bmp-mon:router/bmp-mon:peer/bmp-mon:post-policy-rib/bmp-mon:tables/bmp-mon:routes {
     case evpn-routes-case {
       uses evpn-routes;
     }
   }
   augment /bgp-msg:update/bgp-msg:attributes/bgp-msg:extended-communities/bgp-msg:extended-community {
     case esi-label-extended-community-case {
       uses esi-label-extended-community;
     }
     case es-import-route-extended-community-case {
       uses es-import-route-extended-community;
     }
     case mac-mobility-extended-community-case {
       uses mac-mobility-extended-community;
     }
     case default-gateway-extended-community-case {
       uses default-gateway-extended-community;
     }
     case layer-2-attributes-extended-community-case {
       uses layer-2-attributes-extended-community;
     }
   }
 }