BGP Configuration
此内容尚不支持你的语言。
show bgp peer-group
Section titled “show bgp peer-group”[Command] show bgp peer-group
[Purpose] This command displays configured BGP peer-groups
[View] System view
[Use Cases]
sonic# show bgp peer-groupBGP peer-group PEER_V4_EBGPPeer-group type is externalConfigured address-families: IPv4 Unicast;Peer-group members:30.11.13.9 Established30.11.13.137 ActiveBGP peer-group PEER_V4_IBGPPeer-group type is externalConfigured address-families: IPv4 Unicast;BGP peer-group PEER_V4_INTPeer-group type is externalConfigured address-families: IPv4 Unicast;BGP peer-group PEER_V6_EBGPPeer-group type is externalConfigured address-families: IPv4 Unicast;Peer-group members:2022::9300 Active2022::9310 EstablishedBGP peer-group PEER_V6_IBGPPeer-group type is externalConfigured address-families: IPv4 Unicast;BGP peer-group PEER_V6_INTPeer-group type is externalConfigured address-families: IPv4 Unicast;show ip bgp summary {established|failed}
Section titled “show ip bgp summary {established|failed}”[Command] show ip bgp summary [{established|failed}]
[Purpose] View BGP neighbor information
[Parameter]
| Parameter | Description |
|---|---|
| established | View the neighbors that have successfully established BGP neighbor relationships and interacted with routes |
| failed | View the neighbors whose BGP neighbor relationship establishment failed |
[View] System view
[Use Cases]
sonic# show ip bgp summaryshow ip bgp neighbors
Section titled “show ip bgp neighbors”[Command] show ip bgp neighbors
[Purpose] Display the details of BGP neighbors
[View] System view
[Use Cases]
sonic# show ip bgp neighborsBGP neighbor is 1.1.1.2, remote AS 65100, local AS 65200, external linkBGP version 4, remote router ID 2.1.1.2, local router ID 192.168.15.48BGP state = Established, up for 02:34:12Last read 00:00:09, Last write 00:00:12Hold time is 90, keepalive interval is 30 secondsNeighbor capabilities:4 Byte AS: advertisedAddPath:IPv4 Unicast: RX advertised IPv4 UnicastRoute refresh: advertisedAddress Family IPv4 Unicast: advertised and receivedHostname Capability: advertised (name: sonic,domain name: n/a) not receivedGraceful Restart Capability: advertisedGraceful restart information:Local GR Mode: Helper*Remote GR Mode: DisableR bit: FalseTimers:Configured Restart Time(sec): 120Received Restart Time(sec): 0Message statistics:Inq depth is 0Outq depth is 0Sent RcvdOpens: 3 3Notifications: 0 4Updates: 2 6Keepalives: 338 337Route Refresh: 0 0Capability: 0 0Total: 343 350Minimum time between advertisement runs is 0 secondsFor address family: IPv4 UnicastUpdate group 3, subgroup 3Packet Queue length 0Community attribute sent to this neighbor(all)25 accepted prefixesConnections established 3; dropped 2Last reset 02:34:17, No AFI/SAFI activated for peerLocal host: 1.1.1.1, Local port: 179Foreign host: 1.1.1.2, Foreign port: 1051Nexthop: 1.1.1.1Nexthop global: fe80::211:24ff:fe1a:1b61Nexthop local: fe80::211:24ff:fe1a:1b61BGP connection: shared networkBGP Connect Retry Timer in Seconds: 120Estimated round trip time: 1 msRead thread: on Write thread: on FD used: 27show ip bgp
Section titled “show ip bgp”[Command] show ip bgp
[Purpose] Display all route information received from BGP neighbors
[View] System view
[Use Cases]
sonic# show ip bgpInstance default:BGP table version is 3, local router ID is 10.1.1.138, vrf id 0Default local pref 100, local AS 65001Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,i internal, r RIB-failure, S Stale, R RemovedNexthop codes: @NNN nexthop's vrf id, < announce-nh-selfOrigin codes: i - IGP, e - EGP, ? - incompleteRPKI validation codes: V valid, I invalid, N Not foundNetwork Next Hop Metric LocPrf Weight Path*> 10.1.1.138/32 0.0.0.0 0 32768 i*> 10.1.1.139/32 10.1.1.2 0 0 65002 i*> 10.1.1.216/32 10.1.1.2 0 65002 65003 ishow ip bgp statistics
Section titled “show ip bgp statistics”[Command] show ip bgp statistics
[Purpose] Display BGP routing-related statistics
[View] System view
[Use Cases]
sonic# show ip bgp statisticsBGP IPv4 Unicast RIB statistics (VRF default)Total Advertisements : 25Total Prefixes : 25Average prefix length : 19.20Unaggregateable prefixes : 25Maximum aggregateable prefixes: 0BGP Aggregate advertisements : 0Address space advertised : 985600% announced : 0.02/8 equivalent : 0.06/24 equivalent : 3850.00Advertisements with paths : 25Longest AS-Path (hops) : 1Average AS-Path length (hops) : 1.00Largest AS-Path (bytes) : 6Average AS-Path size (bytes) : 6.00Highest public ASN : 0router bgp AS [view view_name|vrf
Section titled “router bgp AS [view view_name|vrf”[Command] router bgp AS no router bgp AS
[Purpose] Enable a BGP protocol process with the specified AS number
[Parameter]
| Parameter | Description |
|---|---|
| AS | AS number(1~4294967295) |
| view | specify view |
| view_name | the name of view |
| vrf | specify VRF |
| vrf_name | the name of VRF |
[View] System configuration view
[Notes] When VRF VRF_name is not specified, the BGP protocol process belongs to the default VRF.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)#bgp router-id
Section titled “bgp router-id”[Command] bgp router-idA.B.C.D no bgp router-idA.B.C.D
[Purpose] This command specifies the router-ID
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | configured router identifier |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp router-id 1.1.1.1bgp cluster-id
Section titled “bgp cluster-id”[Command] bgp cluster-idA.B.C.D no bgp cluster-idA.B.C.D
[Purpose] Configure the cluster ID for the route reflector
[View] BGP configuration view
[Usage Scenario] When multiple route reflectors exist within a cluster, it is necessary to configure the same cluster ID to identify that these reflectors belong to the same cluster
[Use Cases]
sonic(config)# router bgp 65100sonic(config-router)# bgp cluster-id 10.1.1.10bgp bestpath [as-path {confed| ignore| multipath-relax}]
Section titled “bgp bestpath [as-path {confed| ignore| multipath-relax}]”[Command] bgp bestpath [as-path {confed| ignore| multipath-relax}] no bgp bestpath [as-path {confed| ignore| multipath-relax}]
[Purpose] Specify the bestpath decision method for BGP
[Parameter]
| Parameter | Description |
|---|---|
| confed | Specifies that BGP considers AS path length and content when selecting the best route |
| ignore | Ignore the attributes when specify bgp bestpath decision method multipath-relax. This command specifies that BGP decision process should consider paths of equal AS_PATH length candidates for multipath computation. Without the knob, the entire AS_PATH must match for multipath computation |
| Compare-routerid | Ensure that when comparing routes where both are equal on most metrics, including local-pref, AS_PATH length, IGP cost, MED, that the tie is broken based on router-ID |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp bestpath as-path ignorebgp bestpath bandwidth
Section titled “bgp bestpath bandwidth”[Command] bgp bestpath bandwidth {default-weight-for-missing|ignore|skip-missing} no bgp bestpath bandwidth {default-weight-for-missing|ignore|skip-missing}
[Purpose] Configure BGP’s treatment of bandwidth when selecting the best path
[Parameter]
| Parameter | Description |
|---|---|
| default-weight-for-missing | When a route does not carry a bandwidth parameter, the default action is to assign a weight of 1 |
| ignore | Ignore the bandwidth value in the route |
| skip-missing | Discard routes that do not carry a bandwidth parameter |
[View] BGP configuration view
[Use Cases]
sonic(config)# router bgp 65100sonic(config-router)# bgp bestpath bandwidth default-weight-for-missingbgp ebgp-requires-policy
Section titled “bgp ebgp-requires-policy”[Command] bgp ebgp-requires-policy no bgp ebgp-requires-policy
[Purpose] This command requires incoming and outgoing filters to be applied for EBGP sessions
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp ebgp-requires-policybgp graceful-restart restart-time
Section titled “bgp graceful-restart restart-time”[Command] bgp graceful-restart restart-timedelay no bgp graceful-restart restart-timedelay
[Purpose] Set the maximum waiting time for the remote end to wait for the successful reconstruction of the local BGP neighbor
[Parameter]
| Parameter | Description |
|---|---|
| delay | Range value: 1-4094, unit: s |
[View] BGP configuration view
[Usage Scenario] After executing this command, when the remote device detects that the BGP peer established with the local device is in a Down state, it triggers the BGP session to enter Graceful Restart mode. During this time, the device can continue to use previously learned routing information without waiting for the BGP session to be reestablished. If the maximum waiting time is exceeded without a successful reconnection, the device exits the Graceful Restart process and withdraws routes.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp graceful-restart restart-time 200bgp graceful-restart rib-stale-time
Section titled “bgp graceful-restart rib-stale-time”[Command] bgp graceful-restart rib-stale-timedelay no bgp graceful-restart rib-stale-timedelay
[Purpose] Configure the maximum waiting time for the local end to wait for the End-Of-RIB marker from the remote end
[Parameter]
| Parameter | Description |
|---|---|
| delay | Range value: 1-3600, unit: s |
[View] BGP configuration view
[Usage Scenario] After the local end and remote end rebuild the BGP session, the local end should receive the End-Of-RIB marker from the remote end within the time set by this command. If the End-Of-RIB marker is not received within the specified time, the local end will exit the Graceful Restart process and withdraw routes.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp graceful-restart rib-stale-time 20bgp shutdown [message
Section titled “bgp shutdown [message”[Command] bgp shutdown [messagestring**]** no bgp shutdown [messagestring**]**
[Purpose] Administrative shutdown of all peers of a BGP instance
[Parameter]
| Parameter | Description |
|---|---|
| message | String An optional shutdown message MSG can be specified. |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp shutdown message testingbgp network import-check
Section titled “bgp network import-check”[Command] bgp network import-check no bgp network import-check
[Purpose] Check for the networks existence in RIB
[View] BGP configuration view
[Usage Scenario] This configuration modifies the behavior of the network statement. If you have this configured the underlying network must exist in the rib. If you have the [no] form configured then BGP will not check for the networks existence in the rib. For versions 7.3 and before frr defaults for datacenter were the network must exist, traditional did not check for existence. For versions 7.4 and beyond both traditional and datacenter the network must exist.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp network import-checkbgp update-delay MAX-DELAY
Section titled “bgp update-delay MAX-DELAY”[Command] bgp update-delayMAX-DELAY ESTABLISH-WAIT no bgp update-delayMAX-DELAY ESTABLISH-WAIT
[Purpose] Configuring a global delay for sending Update messages
[Parameter]
| Parameter | Description |
|---|---|
| MAX-DELAY | Max delay in seconds (0..3600) |
| ESTABLISH-WAIT | Establish wait in seconds (1..3600) |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# bgp update-delay 2 2update-delay
Section titled “update-delay”[Command] update-delayMAX-DELAY no update-delayMAX-DELAY
[Purpose] This command is used to delay the advertisement of BGP routes after a BGP process is restarted.
[Parameter]
| Parameter | Description |
|---|---|
| MAX-DELAY | Range value: 0-3600, unit: s |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# update-delay 2distance
Section titled “distance”[Command] distanceebpg_distance ibgp_distance local_distance distancedistance A.B.C.D/M**[ip-prefix-name]** no distanceebpg_distance ibgp_distance local_distance no distancedistance A.B.C.D/M**[ip-prefix-name]**
[Purpose] Modify the administrative distance for the route
[Parameter]
| Parameter | Description |
|---|---|
| ebpg_distance | Modify the administrative distance of EBGP routes, the value range: 1-255 |
| ibgp_distance | Modify the administrative distance of IBGP routes, the value range is 1-255 |
| local_distance | Change the administrative distance of the local route, the value range is 1-255 |
| distance | Sets the administrative distance for a particular route |
| A.B.C.D/M | IP-prefix |
| ip-prefix-name | The name of ip-prefix list |
[View] BGP configuration view
[Usage Scenario] If the system has a static route configured from the kernel, it has a distance of 0. In some cases, it might be useful to override the route. E.g.: Kernel has a statically configured default route, and you received another default route from the BGP and want to install it to be preferred over the static route. In such a case, user can set a higher distance from the kernel. By default, the administrative distance for EBGP routes is 200, the administrative distance for IBGP routes is 20, and the administrative distance for local routes is 1.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# distance 20 0.0.0.0/0redistribute
Section titled “redistribute”[Command] redistribute [babel|connected|eigrp|isis|kernel|openfabric|ospf|ospf6|rip|ripng|shar p|static|table|vnc|vnc-direct] [metricmetric_id**] [route-mapString]** no redistribute [babel|connected|eigrp|isis|kernel|openfabric|ospf|ospf6|rip|ripng|shar p|static|table|vnc|vnc-direct] [metricmetric_id**] [route-mapString]**
[Purpose] Redistribute routes from other protocols into BGP
[Parameter]
| Parameter | Description |
|---|---|
| metric | metric_id Set the metric for route |
| route-map | String Apply a route-map |
[View] Address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# redistribute ospf metric 200bgp listen range A.B.C.D/M|X:X::X:X/M peer-group
Section titled “bgp listen range A.B.C.D/M|X:X::X:X/M peer-group”[Command] bgp listen rangeA.B.C.D/M|X:X::X:X***/Mpeer-groupNAME*** no bgp listen rangeA.B.C.D/M|X:X::X:X***/Mpeer-groupNAME***
[Purpose] Allow establishing BGP neighbor relationships with all IP addresses within the specified address range
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D/M|X:X::X:X*/M* | IP range |
| NAME Peer | group name |
[View] BGP configuration view
[Use Cases]
sonic(config)# router bgp 65100sonic(config-router)# neighbor TEST peer-groupsonic(config-router)# neighbor TEST remote-as externalsonic(config-router)# bgp listen range 10.111.1.0/24 peer-group TESTbgp listen limit
Section titled “bgp listen limit”[Command] bgp listen limitneighor_number no bgp listen limitneighor_number
[Purpose] Define the maximum number of peers accepted for one BGP instance
[Parameter]
| Parameter | Description |
|---|---|
| neighbor_number | Configure Dynamic Neighbors listen limit value (1..5000) |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp listen limit 20bgp default ipv4-unicast
Section titled “bgp default ipv4-unicast”[Command] bgp default ipv4-unicast no bgp default ipv4-unicast
[Purpose] IPv4 unicast address families for all neighbors are enabled by default
[View] BGP configuration view
[Notes] By default, all neighbors do not enable the IPv4 unicast address family and require manual configuration to set their state to Active. After configuring the bgp default ipv4-unicast command, the created BGP peer automatically enables the IPv4 unicast address family by default.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp default ipv4-unicastbgp default local-preference
Section titled “bgp default local-preference”[Command] bgp default local-preferencevalue no bgp default local-preferencevalue
[Purpose] configuring the default local preference for BGP
[View] BGP configuration view
[Notes] By default, the default local priority is 100.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp default local-preference 100bgp default shutdown
Section titled “bgp default shutdown”[Command] bgp default shutdown no bgp default shutdown
[Purpose] Set the default state of the newly configured peer to shutdown
[View] BGP configuration view
[Notes] After configuring this command, all newly added BGP peers will require manual configuration of the no shutdown command to be used properly.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp default shutdownbgp route-reflector allow-outbound-policy
Section titled “bgp route-reflector allow-outbound-policy”[Command] bgp route-reflector allow-outbound-policy no bgp route-reflector allow-outbound-policy
[Purpose] Allowing route policies to affect reflected routes
[View] BGP configuration view
[Usage Scenario] By default, policies that modify route attributes configured in a route-map do not affect routes that are reflected by route reflectors. Enabling this feature allows route attributes to be modified and take effect on all reflected routes.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp route-reflector allow-outbound-policybgp fast-external-failover
Section titled “bgp fast-external-failover”[Command] bgp route-reflector allow-outbound-policy no bgp route-reflector allow-outbound-policy
[Purpose] Enable BGP to immediately close the EBGP peer when there is link instability.
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# bgp fast-external-failoveraggregate-address
Section titled “aggregate-address”[Command] aggregate-addressip-address**{mask-length|mask} [as-set|summary-only|route-mapString|origin{incomplete|igp|egp}]** no aggregate-addressip-address**{mask-length|mask} [as-set|summary-only|route-mapString|origin{incomplete|igp|egp}]**
[Purpose] This command specifies an aggregate address
[Parameter]
| Parameter | Description |
|---|---|
| ip-address | Specifies an IP address of the summarized route. The address is in dotted decimal notation |
| mask | IP address mask, the address is in dotted decimal natation |
| mask-length | Length of the IP address mask |
| as-set | Include AS-set in the generated routes |
| summary-only | Announce only the aggregated route |
| route-map String | Apply a route-map for an aggregated prefix |
| origin | Override ORIGIN for an aggregated prefix |
[View] IP Address-family View
[Usage Scenario] This command can be used to aggregate and advertise routes from the local routing table. To ensure that the aggregated routes have loop prevention, you can use the “as-set” keyword to create an aggregate route that inherits the Origin, AS_Path, Community, and large-community attributes from the specific routes. By configuring “summary-only,” you can suppress all the detailed routes included in the aggregate route, only announcing the aggregate route. This helps reduce the routing load on BGP peers.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv6 unicastsonic(config-router-af)# aggregate-address 100::1/64network
Section titled “network”[Command] networkip-address**{mask-length|mask} [route-mapString]** no networkip-address**{mask-length|mask} [route-mapString]**
[Purpose] This command adds the announcement network.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | IP address, the address is in dotted decimal natation |
| mask | IP address mask, the address is in dotted decimal natation |
| mask-length | Length of the IP address mask |
| route-map | String Apply a route-map for an aggregated prefix |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# network 1.1.1.0/24neighbor {A.B.C.D|X:X::X:X|String} [graceful-restart|graceful-restart-disable|graceful-restart-helper]
Section titled “neighbor {A.B.C.D|X:X::X:X|String} [graceful-restart|graceful-restart-disable|graceful-restart-helper]”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} [graceful-restart|graceful-restart-disable|graceful-restart-helper] **no neighbor {A.B.C.D|**X:X::X:X |String} [graceful-restart|graceful-restart-disable|graceful-restart-helper]
[Purpose] This command will enable BGP graceful restart functionality at the global level.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| gracefule-restart | Graceful Restart command for a neighbor |
| gracefule-restart-disable | Graceful Restart Disable command for a neighbor |
| gracefule-restart-helper | Graceful Restart Helper command for a neighbor |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 graceful-restartneighbor {A.B.C.D|X:X::X:X|String} advertisement-interval
Section titled “neighbor {A.B.C.D|X:X::X:X|String} advertisement-interval”[Command] neighbor {A.B.C.D|X:X::X:X |String} advertisement-intervalinternal no neighbor {A.B.C.D|X:X::X:X |String} advertisement-intervalinternal
[Purpose] Configure the time interval for a peer to send route prefix update messages
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| internal | The range of value: 0-600, default value is: 0 |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 advertisement-interval 2neighbor {A.B.C.D|X:X::X:X|String} bfd [date-plane]
Section titled “neighbor {A.B.C.D|X:X::X:X|String} bfd [date-plane]”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} bfd [date-plane]
[Purpose] Enable BFD functionality for a specific peer
[Parameter]
| Parameter | Description |
|---|---|
| date-plane | Specify that locally generated BFD packets are processed by the hardware |
[View] BGP configuration view
[Usage Scenario] By default, when BFD functionality is enabled, both the reception and transmission of BFD packets on the device are processed by the CPU. If the device is running multiple network protocols and the CPU is relatively busy, it may lead to inaccurate BFD detection results due to CPU processing delays.
Enabling this feature ensures that BFD packets generated locally by the device are processed by the hardware, reducing the performance load on the CPU
[Use Cases]
sonic(config) router bgp 65100sonic(config-router)# neighbor 44.1.3.1 remote-as externalsonic(config-router)# neighbor 44.1.3.1 bfd data-planeneighbor {A.B.C.D|X:X::X:X|String} capability extended-nexthop
Section titled “neighbor {A.B.C.D|X:X::X:X|String} capability extended-nexthop”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} capability {extended-nexthop|dynamic} **no neighbor {A.B.C.D|**X:X::X:X |String} capability {extended-nexthop|dynamic}
[Purpose] Allow BGP to negotiate extended next-hop capability with its peers
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
[View] BGP configuration view
[Notes] Allow bgp to negotiate the extended-nexthop capability with it’s peer. If user is peering over a IPv6 LL address then this capability is turned on automatically.
If user is peering over a IPv6 Global Address then turning on this command will allow BGP to install IPv4 routes with IPv6 nexthops if you do not have IPv4 configured on interfaces.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 capability extended-nexthopneighbor {A.B.C.D|X:X::X:X|String} capability dynamic
Section titled “neighbor {A.B.C.D|X:X::X:X|String} capability dynamic”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} capability dynamic **no neighbor {A.B.C.D|**X:X::X:X |String} capability dynamic
[Purpose] Allow bgp to negotiate the extended-nexthop capability with it’s peer.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
[View] BGP configuration view
[Notes] Dynamic Capability defines a new BGP message (CAPABILITY) that can be used to set/unset BGP capabilities without bringing down a BGP session.
This includes changing graceful-restart (LLGR also) timers, enabling/disabling add-path, and other supported capabilities.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 capability dynamicneighbor {A.B.C.D|X:X::X:X|String} description
Section titled “neighbor {A.B.C.D|X:X::X:X|String} description ”[Command] neighbor {A.B.C.D|X:X::X:X |String} descriptionString no neighbor {A.B.C.D|X:X::X:X |String} descriptionString
[Purpose] Set description of the peer.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| String | Describing this neighbor |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 description testneighbor {A.B.C.D|X:X::X:X|String} disable-connected-check
Section titled “neighbor {A.B.C.D|X:X::X:X|String} disable-connected-check”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} disable-connected-check **no neighbor {A.B.C.D|**X:X::X:X |String} disable-connected-check
[Purpose] Allow peerings between directly connected EBGP peers using loopback addresses.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 disable-connected-checkneighbor {A.B.C.D|X:X::X:X|String} ebgp-multihop
Section titled “neighbor {A.B.C.D|X:X::X:X|String} ebgp-multihop”[Command] neighbor {A.B.C.D|X:X::X:X |String} ebgp-multihopcount no neighbor {A.B.C.D|X:X::X:X |String} ebgp-multihopcount
[Purpose] Specifying ebgp-multihop allows sessions with eBGP neighbors to establish when they are multiple hops away
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| count | Maximum hop count (1..255) |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 ebgp-multihop 2neighbor {A.B.C.D|X:X::X:X|String} interface
Section titled “neighbor {A.B.C.D|X:X::X:X|String} interface”[Command] neighbor {A.B.C.D|X:X::X:X |String} interfaceString no neighbor {A.B.C.D|X:X::X:X |String} interfaceString
[Purpose] When you connect to a BGP peer over an IPv6 link-local address, you have to specify the IFNAME of the interface used for the connection.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
| interface_name | Interface name |
[View] BGP configuration view
[Usage Scenario] When you connect to a BGP peer over an IPv6 link-local address, you have to specify the IFNAME of the interface used for the connection. To specify IPv4 session addresses, see the neighbor PEER update-source command below
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 interface Ethernet1neighbor {A.B.C.D|X:X::X:X|String} local-as ASN [no-prepend] [replace-as]
Section titled “neighbor {A.B.C.D|X:X::X:X|String} local-as ASN [no-prepend] [replace-as]”[Command] neighbor {A.B.C.D|X:X::X:X |String} local-as*ASN***[no-prepend] [replace-as]** no neighbor {A.B.C.D|X:X::X:X |String} local-as*ASN***[no-prepend] [replace-as]**
[Purpose] Specify an alternate AS for this BGP process when interacting with the specified peer
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
| ASN | AS number |
[View] BGP configuration view
[Usage Scenario] Specify an alternate AS for this BGP process when interacting with the specified peer. With no modifiers, the specified local-as is prepended to the received AS_PATH when receiving routing updates from the peer, and prepended to the outgoing AS_PATH (after the process local AS) when transmitting local routes to the peer.
If the no-prepend attribute is specified, then the supplied local-as is not prepended to the received AS_PATH.
If the replace-as attribute is specified, then only the supplied local-as is prepended to the AS_PATH when transmitting local-route updates to this peer.
[Notes] Note that replace-as can only be specified if no-prepend is.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 local-as 123 no-prepend replace-asneighbor {A.B.C.D|X:X::X:X|String} password
Section titled “neighbor {A.B.C.D|X:X::X:X|String} password”[Command] neighbor {A.B.C.D|X:X::X:X |String} passwordPASSWORD no neighbor {A.B.C.D|X:X::X:X |String} passwordPASSWORD
[Purpose] Set a MD5 password to be used with the tcp socket that is being used to connect to the remote peer
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| PASSWORD | The password |
[View] BGP configuration view
[Usage Scenario] To enhance the security of BGP connections, MD5 authentication can be used during the establishment of TCP connections. When the passwords at both ends of the BGP neighbors do not match, the BGP neighbor establishment will fail.
[Notes] It is important to note that the key will be displayed in ciphertext, meaning that the password will not be visible in plain text.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 password test1234neighbor {A.B.C.D|X:X::X:X|String} port
Section titled “neighbor {A.B.C.D|X:X::X:X|String} port”[Command] neighbor {A.B.C.D|X:X::X:X |String} portPORT no neighbor {A.B.C.D|X:X::X:X |String} portPORT
[Purpose] Specify the L4-port to use for the BGP session to this neighbor
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| PORT | TCP port number (0..65535) |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 port 234neighbor {A.B.C.D|X:X::X:X|String} remote-as [ASN|internal|external]
Section titled “neighbor {A.B.C.D|X:X::X:X|String} remote-as [ASN|internal|external]”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} remote-as [ASN|internal|external] **no neighbor {A.B.C.D|**X:X::X:X |String} remote-as [ASN|internal|external]
[Purpose] Create a new neighbor whose remote-as is ASN
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| ASN | AS number |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 remote-as 65101sonic(config-router)# neighbor 1.1.1.1 remote-as externalneighbor peer-group-name peer-group
Section titled “neighbor peer-group-name peer-group”[Command] neighborPEER-GROUPpeer-group no neighborPEER-GROUPpeer-group
[Purpose] Create a peer group
[View] BGP configuration view
[Usage Scenario] In large-scale BGP networks, the number of peers can be substantial, and many of these peers share similar policies. Configuring these peers can be repetitive, but using peer groups can simplify the configuration process. When a user wants to apply the same configuration to several peers, they can create a peer group, configure it accordingly, and then add the peers to that group. This way, all peers within the group inherit the group’s configuration.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor PEER_V4_EBGP peer-groupneighbor {A.B.C.D|X:X::X:X|String} peer-group
Section titled “neighbor {A.B.C.D|X:X::X:X|String} peer-group”[Command] neighbor {A.B.C.D|X:X::X:X |String} peer-groupNAME no neighbor {A.B.C.D|X:X::X:X |String} peer-groupNAME
[Purpose] This command bind specific peer to peer group
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| NAME | Peer-group name |
[View] BGP configuration view
[Usage Scenario] A peer group is a collection of peers with similar policies or attributes. When a peer joins a peer group, the configuration settings for that peer group apply to all members within the group.
In situations where there are a significant number of peers with identical configurations in the network, configuring peer groups can streamline the setup process.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 peer-group PEER_V4_EBGPneighbor {
Section titled “neighbor {”[Command] **neighbor {A.B.C.D|**X:X::X:X **|String} update-source {A.B.C.D|**X:X::X:X |String} **no neighbor {A.B.C.D|**X:X::X:X **|String} update-source {A.B.C.D|**X:X::X:X |String}
[Purpose] Specify the IPv4 source address to use for the BGP session to this neighbor
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
[View] BGP configuration view
[Usage Scenario] Specify the IPv4 source address to use for the BGP session to this neighbor, may be specified as either an IPv4 address directly or as an interface name.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 update-source Ethernet1neighbor {A.B.C.D|X:X::X:X} activate
Section titled “neighbor {A.B.C.D|X:X::X:X} activate”[Command] **neighbor {A.B.C.D|**X:X::X:X } activate **no neighbor {A.B.C.D|**X:X::X:X } activate
[Purpose] Enable a specific BGP peer
[Parameter]
A.B.C.D IPv4 address
X:X::X:X IPv6 address
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
[View] IP Address-family view
[Notes] By default, only the IPv4 unicast address family is announced to all neighbors. Using the no bgp default ipv4-unicast configuration overrides this default so that all address families need to be enabled explicitly
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# network 1.1.1.1 activateneighbor {A.B.C.D|X:X::X:X|String} allowas-in [
Section titled “neighbor {A.B.C.D|X:X::X:X|String} allowas-in [”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} allowas-in [number|origin] **no neighbor {A.B.C.D|**X:X::X:X |String} allowas-in [number|origin]
[Purpose] This command accepts incoming routes with AS paths that have the same value as the current system’s AS
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
| number | Number of occurrences of AS number (1..10) |
[View] IP address-family view
[Usage Scenario] Normally, BGP determines the presence of loops by checking for the presence of the same AS number in the AS_PATH attribute. This command allows you to configure the maximum number of times the local AS number is allowed to repeat, meeting the requirements of special scenarios。
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 allowas-in 2neighbor {A.B.C.D|X:X::X:X|String} as-override
Section titled “neighbor {A.B.C.D|X:X::X:X|String} as-override”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} as-override **no neighbor {A.B.C.D|**X:X::X:X |String} as-override
[Purpose] Override AS number of the originating router with the local AS number
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 as-overrideneighbor {A.B.C.D|X:X::X:X|String} attribute-unchanged [{as-path|next-hop|med}]
Section titled “neighbor {A.B.C.D|X:X::X:X|String} attribute-unchanged [{as-path|next-hop|med}]”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} attribute-unchanged [{as-path|next-hop|med}]* **no neighbor {A.B.C.D|**X:X::X:X |String} attribute-unchanged [{as-path|next-hop|med}]*
[Purpose] Preserve the next hop when advertising routes to a specified EBGP peer
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer group name |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 attribute-unchanged as-pathneighbor {A.B.C.D|X:X::X:X|String} default-originate [route-map
Section titled “neighbor {A.B.C.D|X:X::X:X|String} default-originate [route-map”[Command] neighbor {A.B.C.D|X:X::X:X |String} default-originate [route-map*WORD***]** no neighbor {A.B.C.D|X:X::X:X |String} default-originate [route-map*WORD***]**
[Purpose] Advertise a default route to a specified peer
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer group name |
| WORD | Route-map name |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 default-originate route-map testneighbor {A.B.C.D|X:X::X:X|String} next-hop-self [force]
Section titled “neighbor {A.B.C.D|X:X::X:X|String} next-hop-self [force]”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} next-hop-self [force] **no neighbor {A.B.C.D|**X:X::X:X |String} next-hop-self [force]
[Purpose] When announcing routes to IBGP peers or peer groups, set the next hop attribute to the local IP address
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer group name |
| Force | If the optional keyword force is specified the modification is done also for routes learned via IBGP |
[View] IP address-family view
[Usage Scenario] By default, when a device learns routes from its EBGP neighbors and forwards them to its IBGP neighbors, it does not modify the next-hop IP address of the routes. As a result, the next hop of the route remains the Neighbor address of the EBGP neighbor. When IBGP neighbors receive these routes, they become unusable because the next hop is unreachable. To avoid this situation, you can resolve it by configuring the “next-hop-self” command.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 next-hop-self forceneighbor {A.B.C.D|X:X::X:X|String} prefix-list
Section titled “neighbor {A.B.C.D|X:X::X:X|String} prefix-list”[Command] neighbor {A.B.C.D|X:X::X:X |String} prefix-list*NAME***[in|out]** no neighbor {A.B.C.D|X:X::X:X |String} prefix-list*NAME***[in|out]**
[Purpose] Apply a prefix-list on the neighbor
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
| NAME | prefix-list name |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 prefix-list test inneighbor {A.B.C.D|X:X::X:X|String} route-reflector-client
Section titled “neighbor {A.B.C.D|X:X::X:X|String} route-reflector-client”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} route-reflector-client **no neighbor {A.B.C.D|**X:X::X:X |String} route-reflector-client
[Purpose] Configure the current device as a route reflector when establishing a BGP connection with the specified neighbor
[View] IP address-family view
[Usage Scenario] To ensure connectivity between IBGP peers, it’s necessary to establish full mesh connections between IBGP peers. However, when there are many IBGP peers, this consumes significant network and CPU resources. Utilizing route reflectors can address this issue by allowing BGP routers to establish connections only with a few route reflectors instead of all other routers.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 route-reflector-clientneighbor {A.B.C.D|X:X::X:X|String} route-map
Section titled “neighbor {A.B.C.D|X:X::X:X|String} route-map”[Command] neighbor {A.B.C.D|X:X::X:X |String} route-map*NAME***[in|out]** no neighbor {A.B.C.D|X:X::X:X |String} route-map*NAME***[in|out]**
[Purpose] Apply a route-map on the neighbor
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| NAME | route-map name |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 route-map test inneighbor {A.B.C.D|X:X::X:X|String} send-community [both|all|extended|standard|large]
Section titled “neighbor {A.B.C.D|X:X::X:X|String} send-community [both|all|extended|standard|large]”[Command] **neighbor {A.B.C.D|**X:X::X:X |String} send-community [both|all|extended|standard|large] **no neighbor {A.B.C.D|**X:X::X:X |String} send-community [both|all|extended|standard|large]
[Purpose] Set the route’community for the neighbor.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Peer-group name |
| both | Send both standard and extended community attributes |
| all | Send both standard, extended and large community attributes |
| extended | Send extended community attributes |
| standard | Send standard community attributes |
| large | Send large community attributes |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 send-community extendedneighbor {A.B.C.D|X:X::X:X|String} shutdown [[message MSG] |[rtt rtt [count
Section titled “neighbor {A.B.C.D|X:X::X:X|String} shutdown [[message MSG] |[rtt rtt [count”[Command] neighbor {A.B.C.D|X:X::X:X |String} shutdown [[message*MSG***]|[rttrtt[countcount]]]** no neighbor {A.B.C.D|X:X::X:X |String} shutdown [[message*MSG***] |[rttrtt[countcount]]]**
[Purpose] Shutdown the peer.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
| MSG | Shutdown message |
| rtt | Round-trip-time in milliseconds (1..65535) |
| count | Specify the number of keepalives before shutdown |
[View] BGP configuration view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 shutdown message testingneighbor {A.B.C.D|X:X::X:X|String} ttl-security hops NUMBER
Section titled “neighbor {A.B.C.D|X:X::X:X|String} ttl-security hops NUMBER”[Command] neighbor {A.B.C.D|X:X::X:X |String} ttl-security hopsNUMBER no neighbor {A.B.C.D|X:X::X:X |String} ttl-security hopsNUMBER
[Purpose] This command enforces Generalized TTL Security Mechanism (GTSM), as specified in RFC 5082.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
| NUMBER | Number of hops to BGP peer (1..254) |
[View] BGP configuration view
[Notes] With this command, only neighbors that are the specified number of hops away will be allowed to become neighbors. This command is mutually exclusive with ebgp-multihop.
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# neighbor 1.1.1.1 ttl-security hops 2neighbor {A.B.C.D|X:X::X:X|String} weight WEIGHT
Section titled “neighbor {A.B.C.D|X:X::X:X|String} weight WEIGHT”[Command] neighbor {A.B.C.D|X:X::X:X |String} weightWEIGHT no neighbor {A.B.C.D|X:X::X:X |String} weightWEIGHT
[Purpose] This command specifies a default weight value for the neighbor’s routes.
[Parameter]
| Parameter | Description |
|---|---|
| A.B.C.D | Neighbor address |
| *X:X::X:X * | Neighbor IPv6 address |
| String | Interface name or neighbor tag |
| WEIGHT | Weight (0..65535) |
[View] IP address-family view
[Use Cases]
sonic# configure terminalsonic(config)# router bgp 65100sonic(config-router)# address-family ipv4 unicastsonic(config-router-af)# neighbor 1.1.1.1 weight 2