github.com/osrg/gobgp@v2.0.0+incompatible/api/capability.proto (about)

     1  // Copyright (C) 2018 Nippon Telegraph and Telephone Corporation.
     2  //
     3  // Permission is hereby granted, free of charge, to any person
     4  // obtaining a copy of this software and associated documentation files
     5  // (the "Software"), to deal in the Software without restriction,
     6  // including without limitation the rights to use, copy, modify, merge,
     7  // publish, distribute, sublicense, and/or sell copies of the Software,
     8  // and to permit persons to whom the Software is furnished to do so,
     9  // subject to the following conditions:
    10  //
    11  // The above copyright notice and this permission notice shall be
    12  // included in all copies or substantial portions of the Software.
    13  
    14  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    15  // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    16  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    17  // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    18  // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    19  // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    20  // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    21  
    22  syntax = "proto3";
    23  
    24  import "gobgp.proto";
    25  
    26  package gobgpapi;
    27  
    28  enum AddPathMode {
    29      MODE_NONE = 0;
    30      MODE_RECEIVE = 1;
    31      MODE_SEND = 2;
    32      MODE_BOTH = 3;
    33  }
    34  
    35  message MultiProtocolCapability {
    36      gobgpapi.Family family = 1;
    37  }
    38  
    39  message RouteRefreshCapability {
    40  }
    41  
    42  message CarryingLabelInfoCapability {
    43  }
    44  
    45  message ExtendedNexthopCapabilityTuple {
    46      gobgpapi.Family nlri_family = 1;
    47      // Nexthop AFI must be either
    48      // gobgp.IPv4 or
    49      // gobgp.IPv6.
    50      gobgpapi.Family nexthop_family = 2;
    51  }
    52  
    53  message ExtendedNexthopCapability {
    54      repeated ExtendedNexthopCapabilityTuple tuples = 1;
    55  }
    56  
    57  message GracefulRestartCapabilityTuple {
    58      gobgpapi.Family family = 1;
    59      uint32 flags = 2;
    60  }
    61  
    62  message GracefulRestartCapability {
    63      uint32 flags = 1;
    64      uint32 time = 2;
    65      repeated GracefulRestartCapabilityTuple tuples = 3;
    66  }
    67  
    68  message FourOctetASNumberCapability {
    69      uint32 as = 1;
    70  }
    71  
    72  message AddPathCapabilityTuple {
    73      gobgpapi.Family family = 1;
    74      AddPathMode mode = 2;
    75  }
    76  
    77  message AddPathCapability {
    78      repeated AddPathCapabilityTuple tuples = 1;
    79  }
    80  
    81  message EnhancedRouteRefreshCapability {
    82  }
    83  
    84  message LongLivedGracefulRestartCapabilityTuple {
    85      gobgpapi.Family family = 1;
    86      uint32 flags = 2;
    87      uint32 time = 3;
    88  }
    89  
    90  message LongLivedGracefulRestartCapability {
    91      repeated LongLivedGracefulRestartCapabilityTuple tuples = 1;
    92  }
    93  
    94  message RouteRefreshCiscoCapability {
    95  }
    96  
    97  message UnknownCapability {
    98      uint32 code = 1;
    99      bytes value = 2;
   100  }