github.com/osrg/gobgp/v3@v3.30.0/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  package apipb;
    25  option go_package = "github.com/osrg/gobgp/v3/api;apipb";
    26  
    27  import "gobgp.proto";
    28  
    29  message MultiProtocolCapability {
    30      apipb.Family family = 1;
    31  }
    32  
    33  message RouteRefreshCapability {
    34  }
    35  
    36  message CarryingLabelInfoCapability {
    37  }
    38  
    39  message ExtendedNexthopCapabilityTuple {
    40      apipb.Family nlri_family = 1;
    41      // Nexthop AFI must be either
    42      // gobgp.IPv4 or
    43      // gobgp.IPv6.
    44      apipb.Family nexthop_family = 2;
    45  }
    46  
    47  message ExtendedNexthopCapability {
    48      repeated ExtendedNexthopCapabilityTuple tuples = 1;
    49  }
    50  
    51  message GracefulRestartCapabilityTuple {
    52      apipb.Family family = 1;
    53      uint32 flags = 2;
    54  }
    55  
    56  message GracefulRestartCapability {
    57      uint32 flags = 1;
    58      uint32 time = 2;
    59      repeated GracefulRestartCapabilityTuple tuples = 3;
    60  }
    61  
    62  message FourOctetASNCapability {
    63      uint32 asn = 1;
    64  }
    65  
    66  message AddPathCapabilityTuple {
    67      apipb.Family family = 1;
    68      enum Mode {
    69          NONE = 0;
    70          RECEIVE = 1;
    71          SEND = 2;
    72          BOTH = 3;
    73      }
    74      Mode mode = 2;
    75  }
    76  
    77  message AddPathCapability {
    78      repeated AddPathCapabilityTuple tuples = 1;
    79  }
    80  
    81  message EnhancedRouteRefreshCapability {
    82  }
    83  
    84  message LongLivedGracefulRestartCapabilityTuple {
    85      apipb.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 FqdnCapability {
    98      string host_name = 1;
    99      string domain_name = 2;
   100  }
   101  
   102  message SoftwareVersionCapability {
   103      string software_version = 1;
   104  }
   105  
   106  message UnknownCapability {
   107      uint32 code = 1;
   108      bytes value = 2;
   109  }