github.com/vmware/go-vmware-nsxt@v0.0.0-20230223012718-d31b8a1ca05e/manager/bgp_neighbor.go (about)

     1  /* Copyright © 2017 VMware, Inc. All Rights Reserved.
     2     SPDX-License-Identifier: BSD-2-Clause
     3  
     4     Generated by: https://github.com/swagger-api/swagger-codegen.git */
     5  
     6  package manager
     7  
     8  import (
     9  	"github.com/vmware/go-vmware-nsxt/common"
    10  )
    11  
    12  type BgpNeighbor struct {
    13  
    14  	// The server will populate this field when returing the resource. Ignored on PUT and POST.
    15  	Links []common.ResourceLink `json:"_links,omitempty"`
    16  
    17  	Schema string `json:"_schema,omitempty"`
    18  
    19  	Self *common.SelfResourceLink `json:"_self,omitempty"`
    20  
    21  	// The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
    22  	Revision int64 `json:"_revision"`
    23  
    24  	// Timestamp of resource creation
    25  	CreateTime int64 `json:"_create_time,omitempty"`
    26  
    27  	// ID of the user who created this resource
    28  	CreateUser string `json:"_create_user,omitempty"`
    29  
    30  	// Timestamp of last modification
    31  	LastModifiedTime int64 `json:"_last_modified_time,omitempty"`
    32  
    33  	// ID of the user who last modified this resource
    34  	LastModifiedUser string `json:"_last_modified_user,omitempty"`
    35  
    36  	// Indicates system owned resource
    37  	SystemOwned bool `json:"_system_owned,omitempty"`
    38  
    39  	// Description of this resource
    40  	Description string `json:"description,omitempty"`
    41  
    42  	// Defaults to ID if not set
    43  	DisplayName string `json:"display_name,omitempty"`
    44  
    45  	// Unique identifier of this resource
    46  	Id string `json:"id,omitempty"`
    47  
    48  	// The type of this resource.
    49  	ResourceType string `json:"resource_type,omitempty"`
    50  
    51  	// Opaque identifiers meaningful to the API user
    52  	Tags []common.Tag `json:"tags,omitempty"`
    53  
    54  	// User can enable the neighbor for the specific address families and also define filters per address family. When the neighbor is created, it is default enabled for IPV4_UNICAST address family for backward compatibility reasons. User can change that if required, by defining the address family configuration.
    55  	AddressFamilies []BgpNeighborAddressFamily `json:"address_families,omitempty"`
    56  
    57  	// By specifying these paramaters BFD config for this given peer can be overriden | (the globally configured values will not apply for this peer)
    58  	BfdConfig *BfdConfigParameters `json:"bfd_config,omitempty"`
    59  
    60  	// Flag to enable BFD for this BGP Neighbor. Enable this if the neighbor supports BFD as this will lead to faster convergence.
    61  	EnableBfd bool `json:"enable_bfd,omitempty"`
    62  
    63  	// Flag to enable this BGP Neighbor
    64  	Enabled bool `json:"enabled,omitempty"`
    65  
    66  	// This is a deprecated property, Please  use 'address_family' instead.
    67  	FilterInIpprefixlistId string `json:"filter_in_ipprefixlist_id,omitempty"`
    68  
    69  	// This is a deprecated property, Please use 'address_family' instead.
    70  	FilterInRoutemapId string `json:"filter_in_routemap_id,omitempty"`
    71  
    72  	// This is a deprecated property, Please use 'address_family' instead.
    73  	FilterOutIpprefixlistId string `json:"filter_out_ipprefixlist_id,omitempty"`
    74  
    75  	// This is a deprecated property, Please use 'address_family' instead.
    76  	FilterOutRoutemapId string `json:"filter_out_routemap_id,omitempty"`
    77  
    78  	// Wait period (seconds) before declaring peer dead
    79  	HoldDownTimer int64 `json:"hold_down_timer,omitempty"`
    80  
    81  	// Frequency (seconds) with which keep alive messages are sent to peers
    82  	KeepAliveTimer int64 `json:"keep_alive_timer,omitempty"`
    83  
    84  	// Logical router id
    85  	LogicalRouterId string `json:"logical_router_id,omitempty"`
    86  
    87  	// This value is set on TTL(time to live) of BGP header. When router receives the BGP packet, it decrements the TTL. The default value of TTL is one when BPG request is initiated.So in the case of a BGP peer multiple hops away and and value of TTL is one, then  next router in the path will decrement the TTL to 0, realize it cant forward the packet and will drop it. If the hop count value to reach neighbor is equal to or less than the maximum_hop_limit value then intermediate router decrements the TTL count by one and forwards the request to BGP neighour. If the hop count value is greater than the maximum_hop_limit value then intermediate router discards the request when TTL becomes 0.
    88  	MaximumHopLimit int32 `json:"maximum_hop_limit,omitempty"`
    89  
    90  	// Neighbor IP Address
    91  	NeighborAddress string `json:"neighbor_address"`
    92  
    93  	// User can create (POST) the neighbor with or without the password. The view (GET) on the neighbor, would never reveal if the password is set or not. The password can be set later using edit neighbor workFlow (PUT) On the edit neighbor (PUT), if the user does not specify the password property, the older value is retained.
    94  	Password string `json:"password,omitempty"`
    95  
    96  	// This is a deprecated property, Please use 'remote_as_num' instead.
    97  	RemoteAs int64 `json:"remote_as,omitempty"`
    98  
    99  	// 4 Byte ASN of the neighbor in ASPLAIN/ASDOT Format
   100  	RemoteAsNum string `json:"remote_as_num,omitempty"`
   101  
   102  	// Deprecated - do not provide a value for this field. Use source_addresses instead.
   103  	SourceAddress string `json:"source_address,omitempty"`
   104  
   105  	// BGP neighborship will be formed from all these source addresses to this neighbour.
   106  	SourceAddresses []string `json:"source_addresses,omitempty"`
   107  }