Skip to content

IP Unicast Routing

[Command]

show ip route [summary|connected|static|bgp|ospf|isis|kernel|A.B.C.D/M|A.B.C.D|vrf{all|String}|json]

[Purpose]

Display all ipv4 routes

[Parameter]

A.B.C.D/M IP prefix <network>/<length>

A.B.C.D Network

[View]

System view

[Use Cases]

sonic# show ip route connected
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
C>* 10.0.0.0/24 is directly connected, Ethernet112, 00:22:20
C>* 10.1.0.103/32 is directly connected, Loopback0, 20:16:20
C>* 10.250.0.0/24 is directly connected, eth0, 20:16:40
C>* 11.11.10.0/24 is directly connected, Vlan10, 20:16:10
C>* 112.0.0.0/24 is directly connected, Ethernet112, 00:22:20
C>* 122.0.0.0/24 is directly connected, Vlan100, 20:16:10

[Command]

show ip protocol

[Purpose]

Display IPv4 protocol information

[Parameter]

vrf Display IPv4 protocol information under the specified VRF

[View]

System view

[Use Cases]

sonic# show ip protocol
Protocol : route-map
------------------------
system : none
kernel : none
connected : none
static : none
rip : none
ripng : none
ospf : none
ospf6 : none
isis : none
bgp : RM_SET_SRC
pim : none
eigrp : none
nhrp : none
hsls : none
olsr : none
table : none
ldp : none
vnc : none
vnc-direct : none
vnc-rn : none
bgp-direct : none
bgp-direct-to-nve-groups : none
babel : none
sharp : none
pbr : none
bfd : none
wildcard : none
any : none

[Command]

show ipv6 route [summary|connected|static|bgp|ospf6|isis|kernel|X:X::X:X/M|X:X::X:X|vrf{all|String}|json]

[Purpose]

Show IPv6 routing table

[Parameter]

summary Show route summary

connected Show directly connected routes

static Display static routes

bgp Show BGP routes

ospf6 Display OSPF6 routes

isis Show ISIS routes

kernel Show kernel routes

X:X::X:X/M IPv6 prefix <network>/<length>

X:X::X:X Network

vrf Display the routes under the specified VRF

json Display routes in json format

[View]

System view

[Use Cases]

sonic# show ipv6 route
Codes: K - kernel route, C - connected, S - static, R - RIPng,
O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
f - OpenFabric,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
B>* ::/0 [20/0] via fe80::1a17:25ff:fe37:6508, Ethernet50, weight 1, 02:54:43
* via fe80::1a17:25ff:fe37:6722, Ethernet49, weight 1, 02:54:43

[Command]

show ipv6 protocol

[Purpose]

Display IPv6 protocol information

[Parameter]

vrf Display IPv6 protocol information under the specified VRF

[View]

System view

[Use Cases]

sonic# show ipv6 protocol
VRF: default
Protocol : route-map
-------------------------------------
system : none
kernel : none
connected : none
static : RM_SET_SRC6
rip : none
ripng : none
ospf : none
ospf6 : none
isis : none
bgp : RM_SET_SRC6
pim : none
eigrp : none
nhrp : none
hsls : none
olsr : none
table : none
ldp : none
vnc : none
vnc-direct : none
vnc-rn : none
bgp-direct : none
bgp-direct-to-nve-groups : none
babel : none
sharp : none
pbr : none
bfd : none
openfabric : none
vrrp : none
nhg : none
srte : none
wildcard : none
any : none

[Command]

ip route A.B.C.D{/M|A.B.C.D} {A.B.C.D|Null0|ethernet interface_num|vlan vlan_id|link-aggregation lag_id|vxlan-vni VNI}[OPTION]*

ip route A.B.C.D {/M|A.B.C.D} {reject|blackhole} [tag tag_id|distance|label label_id|table table_id]*

ip route A.B.C.D{/M|A.B.C.D} gre gre_id

no ip route A.B.C.D{/M|A.B.C.D} {A.B.C.D|Null0|ethernet interface_num|vlan vlan_id|link-aggregation lag_id|vxlan-vni VNI}[OPTION]*

[Purpose]

Configure IPv4 static routes

[Parameter]

A.B.C.D/M Destination IP address of the route

A.B.C.D Routing the IP address of the next hop

Null0 No outgoing interface specified

ethernet Specify the outgoing interface as a physical port

interface_num The range of interface id 0~54

vlan Specify the outgoing interface as a VLAN port

vlan_id Specify VLAN id, range 1~4094

link-aggregation Specify the outgoing interface as the aggregation port

lag_id Specify lag_id

vxlan-vni Direct vxlan-vni value

VNI VNI range 1~16777215

OPTION options are as follows:

tag Specify the tag value of the route, range 1~4294967295

distance Specify the metric value of the route, in the range 1~255

label Specify the label value of the route, ranging from 16 to 1048575, separated by ”/”

table Specify the table value of this route, range 1~4294967295

nexthop-vrf Specify the VRF for the next hop of this route

color Specify the color value of this route, range 1~4294967295

bfd Enable the BFD detection function for this route

multihop Set BFD’s multihop mode

local-address Set local-address in multihop mode of BFD, A.B.C.D

reject Specify the route as reject type

blackhole Specify the route as a blackhole route

gre Specify the routing out interface as GRE

gre_id Specify GRE id range, 0~323

[View]

System configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# ip route 20.0.0.0/24 10.0.0.57

[Command]

ipv6 route X:X::X:X{/M|X:X::X:X} [from X:X::X:X/M] {X:X::X:X|Null0|ethernet interface_num|vlan vlan_id|link-aggregation lag_id|vxlan-vni VNI}[OPTION]*

ipv6 route X:X::X:X{/M|X:X::X:X} {reject|blackhole}[tag tag_id|distance|label label_id|table table_id]*

ipv6 route X:X::X:X{/M|X:X::X:X} gre gre_id

no ipv6 route X:X::X:X{/M|X:X::X:X} [from X:X::X:X/M] {X:X::X:X|Null0|ethernet interface_num|vlan vlan_id|link-aggregation lag_id|vxlan-vni VNI}[OPTION]*

[Purpose]

Configure IPv6 static routes

[Parameter]

X:X::X:X/M Destination IPv6 address of the route

X:X::X:X Routing the next-hop IPv6 address

from Specify the source address of the route

X:X::X:X/M Specify the route address prefix

Null0 No outgoing interface specified

ethernet Specify the outgoing interface as a physical port

interface_num The range of interface ID 0~54

vlan Specify the outgoing interface as a VLAN port

vlan_id Specify VLAN ID, range 1~4094

link-aggregation Specify the outgoing interface as the aggregation port

lag_id Specify LAG ID

vxlan-vni Direct VNI value

VNI VNI range 1~16777215

OPTION options are as follows:

tag Specify the tag value of the route, range 1~4294967295

distance Specify the metric value of the route, in the range 1~255

label Specify the label value of the route, ranging from 16 to 1048575, separated by ”/”

table Specify the table value of this route, range 1~4294967295

nexthop-vrf Specify the VRF for the next hop of this route

color Specify the color value of this route, range 1~4294967295

bfd Enable the BFD detection function for this route

multihop Set BFD’s multihop mode

local-address Set local-address in multihop mode of BFD, A.B.C.D

reject Specify the route as reject type

blackhole Specify the route as a blackhole route

gre Specify the route out interface as GRE

gre_id Specify GRE id range, 0~323

[View]

System configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# ipv6 route 2022::2000/64 1000::1

[Command]

show bgp peer-group

[Purpose]

This command displays configured BGP peer-groups

[View]

System view

[Use Cases]

sonic# show bgp peer-group
BGP peer-group PEER_V4_EBGP
Peer-group type is external
Configured address-families: IPv4 Unicast;
Peer-group members:
30.11.13.9 Established
30.11.13.137 Active
BGP peer-group PEER_V4_IBGP
Peer-group type is external
Configured address-families: IPv4 Unicast;
BGP peer-group PEER_V4_INT
Peer-group type is external
Configured address-families: IPv4 Unicast;
BGP peer-group PEER_V6_EBGP
Peer-group type is external
Configured address-families: IPv4 Unicast;
Peer-group members:
2022::9300 Active
2022::9310 Established
BGP peer-group PEER_V6_IBGP
Peer-group type is external
Configured address-families: IPv4 Unicast;
BGP peer-group PEER_V6_INT
Peer-group type is external
Configured address-families: IPv4 Unicast;

[Command]

show ip bgp summary [{established|failed}]

[Purpose]

View BGP neighbor information

[Parameter]

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 summary

[Command]

show ip bgp neighbors

[Purpose]

Display the details of BGP neighbors

[View]

System view

[Use Cases]

sonic# show ip bgp neighbors
BGP neighbor is 1.1.1.2, remote AS 65100, local AS 65200, external link
BGP version 4, remote router ID 2.1.1.2, local router ID 192.168.15.48
BGP state = Established, up for 02:34:12
Last read 00:00:09, Last write 00:00:12
Hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
4 Byte AS: advertised
AddPath:
IPv4 Unicast: RX advertised IPv4 Unicast
Route refresh: advertised
Address Family IPv4 Unicast: advertised and received
Hostname Capability: advertised (name: sonic,domain name: n/a) not received
Graceful Restart Capability: advertised
Graceful restart information:
Local GR Mode: Helper*
Remote GR Mode: Disable
R bit: False
Timers:
Configured Restart Time(sec): 120
Received Restart Time(sec): 0
Message statistics:
Inq depth is 0
Outq depth is 0
Sent Rcvd
Opens: 3 3
Notifications: 0 4
Updates: 2 6
Keepalives: 338 337
Route Refresh: 0 0
Capability: 0 0
Total: 343 350
Minimum time between advertisement runs is 0 seconds
For address family: IPv4 Unicast
Update group 3, subgroup 3
Packet Queue length 0
Community attribute sent to this neighbor(all)
25 accepted prefixes
Connections established 3; dropped 2
Last reset 02:34:17, No AFI/SAFI activated for peer
Local host: 1.1.1.1, Local port: 179
Foreign host: 1.1.1.2, Foreign port: 1051
Nexthop: 1.1.1.1
Nexthop global: fe80::211:24ff:fe1a:1b61
Nexthop local: fe80::211:24ff:fe1a:1b61
BGP connection: shared network
BGP Connect Retry Timer in Seconds: 120
Estimated round trip time: 1 ms
Read thread: on Write thread: on FD used: 27

[Command]

show ip bgp

[Purpose]

Display all route information received from BGP neighbors

[View]

System view

[Use Cases]

sonic# show ip bgp
Instance default:
BGP table version is 3, local router ID is 10.1.1.138, vrf id 0
Default local pref 100, local AS 65001
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network 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 i

[Command]

show ip bgp statistics

[Purpose]

Display BGP routing-related statistics

[View]

System view

[Use Cases]

sonic# show ip bgp statistics
BGP IPv4 Unicast RIB statistics (VRF default)
Total Advertisements : 25
Total Prefixes : 25
Average prefix length : 19.20
Unaggregateable prefixes : 25
Maximum aggregateable prefixes: 0
BGP Aggregate advertisements : 0
Address space advertised : 985600
% announced : 0.02
/8 equivalent : 0.06
/24 equivalent : 3850.00
Advertisements with paths : 25
Longest AS-Path (hops) : 1
Average AS-Path length (hops) : 1.00
Largest AS-Path (bytes) : 6
Average AS-Path size (bytes) : 6.00
Highest public ASN : 0

router bgp AS [view view_name|vrf vrf_name]

Section titled “router bgp AS [view view_name|vrf vrf_name]”

[Command]

router bgp AS

no router bgp AS

[Purpose]

Enable a BGP protocol process with the specified AS number

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)#

[Command]

bgp router-id A.B.C.D

no bgp router-id A.B.C.D

[Purpose]

This command specifies the router-ID

[Parameter]

A.B.C.D configured router identifier

[View]

BGP configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp router-id 1.1.1.1

[Command]

bgp cluster-id A.B.C.D

no bgp cluster-id A.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 65100
sonic(config-router)# bgp cluster-id 10.1.1.10

bgp 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]

ParameterDescription
confedSpecifies that BGP considers AS path length and content when selecting the best route
ignoreIgnore 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-routeridEnsure 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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp bestpath as-path ignore

[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]

ParameterDescription
default-weight-for-missingWhen a route does not carry a bandwidth parameter, the default action is to assign a weight of 1
ignoreIgnore the bandwidth value in the route
skip-missingDiscard routes that do not carry a bandwidth parameter

[View]

BGP configuration view

[Use Cases]

sonic(config)# router bgp 65100
sonic(config-router)# bgp bestpath bandwidth default-weight-for-missing

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp ebgp-requires-policy

[Command]

bgp graceful-restart restart-time delay

no bgp graceful-restart restart-time delay

[Purpose]

Set the maximum waiting time for the remote end to wait for the successful reconstruction of the local BGP neighbor

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp graceful-restart restart-time 200

[Command]

bgp graceful-restart rib-stale-time delay

no bgp graceful-restart rib-stale-time delay

[Purpose]

Configure the maximum waiting time for the local end to wait for the End-Of-RIB marker from the remote end

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp graceful-restart rib-stale-time 20

[Command]

bgp shutdown [message string]

no bgp shutdown [message string]

[Purpose]

Administrative shutdown of all peers of a BGP instance

[Parameter]

message String An optional shutdown message MSG can be specified.

[View]

BGP configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp shutdown message testing

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp network import-check

[Command]

bgp update-delay MAX-DELAY ESTABLISH-WAIT

no bgp update-delay MAX-DELAY ESTABLISH-WAIT

[Purpose]

Configuring a global delay for sending Update messages

[Parameter]

MX-DELAY Max delay in seconds (0..3600)

ESTABLISH-WAIT Establish wait in seconds (1..3600)

[View]

BGP configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# bgp update-delay 2 2

[Command]

update-delay MAX-DELAY

no update-delay MAX-DELAY

[Purpose]

This command is used to delay the advertisement of BGP routes after a BGP process is restarted.

[Parameter]

MAX-DELAY Range value: 0-3600, unit: s

[View]

BGP configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# router bgp 65100
sonic(config-router)# update-delay 2

[Command]

distance ebpg_distance ibgp_distance local_distance

distance distance A.B.C.D/M [ip-prefix-name]

no distance ebpg_distance ibgp_distance local_distance

no distance distance A.B.C.D/M [ip-prefix-name]

[Purpose]

Modify the administrative distance for the route

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# distance 20 0.0.0.0/0

[Command]

redistribute [babel|connected|eigrp|isis|kernel|openfabric|ospf|ospf6|rip|ripng|shar p|static|table|vnc|vnc-direct] [metric metric_id] [route-map String]

no redistribute [babel|connected|eigrp|isis|kernel|openfabric|ospf|ospf6|rip|ripng|shar p|static|table|vnc|vnc-direct] [metric metric_id] [route-map String]

[Purpose]

Redistribute routes from other protocols into BGP

[Parameter]

metric metric_id Set the metric for route

route-map String Apply a route-map

[View]

Address-family view

[Use Cases]

sonic# configure terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# redistribute ospf metric 200

bgp listen range A.B.C.D/M|X:X::X:X/M peer-group NAME

Section titled “bgp listen range A.B.C.D/M|X:X::X:X/M peer-group NAME”

[Command]

bgp listen range A.B.C.D/M|X:X::X:X/M peer-group NAME

no bgp listen range A.B.C.D/M|X:X::X:X/M peer-group NAME

[Purpose]

Allow establishing BGP neighbor relationships with all IP addresses within the specified address range

[Parameter]

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 65100
sonic(config-router)# neighbor TEST peer-group
sonic(config-router)# neighbor TEST remote-as external
sonic(config-router)# bgp listen range 10.111.1.0/24 peer-group TEST

[Command]

bgp listen limit neighor_number

no bgp listen limit neighor_number

[Purpose]

Define the maximum number of peers accepted for one BGP instance

[Parameter]

neighbor_number Configure Dynamic Neighbors listen limit value (1..5000)

[View]

BGP configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp listen limit 20

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp default ipv4-unicast

[Command]

bgp default local-preference value

no bgp default local-preference value

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp default local-preference 100

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp default shutdown

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp route-reflector allow-outbound-policy

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# bgp fast-external-failover

[Command]

aggregate-address ip-address {mask-length|mask} [as-set|summary-only|route-map String|origin{incomplete|igp|egp}]

no aggregate-address ip-address {mask-length|mask} [as-set|summary-only|route-map String|origin{incomplete|igp|egp}]

[Purpose]

This command specifies an aggregate address

[Parameter]

ParameterDescription
ip-addressSpecifies an IP address of the summarized route. The address is in dotted decimal notation
maskIP address mask, the address is in dotted decimal natation
mask-lengthLength of the IP address mask
as-setInclude AS-set in the generated routes
summary-onlyAnnounce only the aggregated route
route-map StringApply a route-map for an aggregated prefix
originOverride 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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv6 unicast
sonic(config-router-af)# aggregate-address 100::1/64

[Command]

network ip-address {mask-length|mask} [route-map String]

no network ip-address {mask-length|mask} [route-map String]

[Purpose]

This command adds the announcement network.

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 1.1.1.0/24

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 graceful-restart

neighbor {A.B.C.D|X:X::X:X|String} advertisement-interval internal

Section titled “neighbor {A.B.C.D|X:X::X:X|String} advertisement-interval internal”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} advertisement-interval internal

no neighbor {A.B.C.D|X:X::X:X|String} advertisement-interval internal

[Purpose]

Configure the time interval for a peer to send route prefix update messages

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 advertisement-interval 2

neighbor {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]

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 65100
sonic(config-router)# neighbor 44.1.3.1 remote-as external
sonic(config-router)# neighbor 44.1.3.1 bfd data-plane

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 capability extended-nexthop

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 capability dynamic

neighbor {A.B.C.D|X:X::X:X|String} description string

Section titled “neighbor {A.B.C.D|X:X::X:X|String} description string”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} description String

no neighbor {A.B.C.D|X:X::X:X|String} description String

[Purpose]

Set description of the peer.

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 description test

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 disable-connected-check

neighbor {A.B.C.D|X:X::X:X|String} ebgp-multihop count

Section titled “neighbor {A.B.C.D|X:X::X:X|String} ebgp-multihop count”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} ebgp-multihop count

no neighbor {A.B.C.D|X:X::X:X|String} ebgp-multihop count

[Purpose]

Specifying ebgp-multihop allows sessions with eBGP neighbors to establish when they are multiple hops away

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 ebgp-multihop 2

neighbor {A.B.C.D|X:X::X:X|String} interface interface_name

Section titled “neighbor {A.B.C.D|X:X::X:X|String} interface interface_name”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} interface String

no neighbor {A.B.C.D|X:X::X:X|String} interface String

[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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 interface Ethernet1

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 local-as 123 no-prepend replace-as

neighbor {A.B.C.D|X:X::X:X|String} password PASSWORD

Section titled “neighbor {A.B.C.D|X:X::X:X|String} password PASSWORD”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} password PASSWORD

no neighbor {A.B.C.D|X:X::X:X|String} password PASSWORD

[Purpose]

Set a MD5 password to be used with the tcp socket that is being used to connect to the remote peer

[Parameter]

A.B.C.D Neighbor address

X:X::X:X Neighbor IPv6 address

String IPeer-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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 password test1234

neighbor {A.B.C.D|X:X::X:X|String} port PORT

Section titled “neighbor {A.B.C.D|X:X::X:X|String} port PORT”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} port PORT

no neighbor {A.B.C.D|X:X::X:X|String} port PORT

[Purpose]

Specify the L4-port to use for the BGP session to this neighbor

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 port 234

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 remote-as 65101
sonic(config-router)# neighbor 1.1.1.1 remote-as external

[Command]

neighbor PEER-GROUP peer-group

no neighbor PEER-GROUP peer-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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor PEER_V4_EBGP peer-group

neighbor {A.B.C.D|X:X::X:X|String} peer-group NAME

Section titled “neighbor {A.B.C.D|X:X::X:X|String} peer-group NAME”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} peer-group NAME

no neighbor {A.B.C.D|X:X::X:X|String} peer-group NAME

[Purpose]

This command bind specific peer to peer group

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 peer-group PEER_V4_EBGP

neighbor {A.B.C.D|X:X::X:X|String} update-source {A.B.C.D|X:X::X:X|String}

Section titled “neighbor {A.B.C.D|X:X::X:X|String} update-source {A.B.C.D|X:X::X:X|String}”

[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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 update-source Ethernet1

[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

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 1.1.1.1 activate

neighbor {A.B.C.D|X:X::X:X|String} allowas-in [number|origin]

Section titled “neighbor {A.B.C.D|X:X::X:X|String} allowas-in [number|origin]”

[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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 allowas-in 2

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 as-override

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 attribute-unchanged as-path

neighbor {A.B.C.D|X:X::X:X|String} default-originate [route-map WORD]

Section titled “neighbor {A.B.C.D|X:X::X:X|String} default-originate [route-map WORD]”

[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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 default-originate route-map test

neighbor {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]

ParameterDescription
A.B.C.DNeighbor address
X:X::X:XNeighbor IPv6 address
StringInterface name or neighbor tag
ForceIf 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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 next-hop-self force

neighbor {A.B.C.D|X:X::X:X|String} prefix-list NAME [in|out]

Section titled “neighbor {A.B.C.D|X:X::X:X|String} prefix-list NAME [in|out]”

[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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 prefix-list test in

neighbor {A.B.C.D|X:X::X:X|String} route-reflector-clientclient

Section titled “neighbor {A.B.C.D|X:X::X:X|String} route-reflector-clientclient”

[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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 route-reflector-client

neighbor {A.B.C.D|X:X::X:X|String} route-map NAME [in|out]

Section titled “neighbor {A.B.C.D|X:X::X:X|String} route-map NAME [in|out]”

[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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 route-map test in

neighbor {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]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 send-community extended

neighbor {A.B.C.D|X:X::X:X|String} shutdown [[message MSG] |[rtt rtt [count count]]]

Section titled “neighbor {A.B.C.D|X:X::X:X|String} shutdown [[message MSG] |[rtt rtt [count count]]]”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} shutdown [[message MSG]|[rtt rtt [count count]]]

no neighbor {A.B.C.D|X:X::X:X|String} shutdown [[message MSG] |[rtt rtt [count count]]]

[Purpose]

Shutdown the peer.

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 shutdown message testing

neighbor {A.B.C.D|X:X::X:X|String} ttl-security hops NUMBER NUMBER

Section titled “neighbor {A.B.C.D|X:X::X:X|String} ttl-security hops NUMBER NUMBER”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} ttl-security hops NUMBER

no neighbor {A.B.C.D|X:X::X:X|String} ttl-security hops NUMBER

[Purpose]

This command enforces Generalized TTL Security Mechanism (GTSM), as specified in RFC 5082.

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# neighbor 1.1.1.1 ttl-security hops 2

neighbor {A.B.C.D|X:X::X:X|String} weight WEIGHT WEIGHT

Section titled “neighbor {A.B.C.D|X:X::X:X|String} weight WEIGHT WEIGHT”

[Command]

neighbor {A.B.C.D|X:X::X:X|String} weight WEIGHT

no neighbor {A.B.C.D|X:X::X:X|String} weight WEIGHT

[Purpose]

This command specifies a default weight value for the neighbor’s routes.

[Parameter]

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 terminal
sonic(config)# router bgp 65100
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# neighbor 1.1.1.1 weight 2

[Command]

show ip ospf [vrf NAME|all] [json]

[Purpose]

Display OSPF details

[View]

System view

[Use Cases]

sonic# show ip ospf vrf all json

[Command]

show ip ospf [vrf NAME|all] interface [ethernet interface_name|vlan vlan_id|link-aggregation lag_id]

[Purpose]

Show state and configuration of OSPF the specified interface, or all interfaces if no interface is given.

[Parameter]

interface_name Ethernet interface name (0..54)

vlan_id VLAN id (1..4094)

lag_id Link-aggregation interface number

[View]

System view

[Use Cases]

sonic# show ip ospf vrf 1 interface vlan 20
OSPF Instance: 2
VRF Name: 1
Vlan20 is up
ifindex 113, MTU 9216 bytes, BW 10 Mbit <UP,BROADCAST,RUNNING,ALLMULTI,MULTICAST>
Internet Address 20.1.1.1/24, Broadcast 20.1.1.255, Area 3.1.1.1
MTU mismatch detection: enabled
Router ID 2.2.2.1, Network Type BROADCAST, Cost: 10000
Transmit Delay is 1 sec, State Backup, Priority 1
Designated Router (ID) 2.2.2.2 Interface Address 20.1.1.2/24
Backup Designated Router (ID) 2.2.2.1, Interface Address 20.1.1.1
Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters
Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
Hello due in 3.869s
Neighbor Count is 1, Adjacent neighbor count is 1

[Command]

show ip ospf [vrf NAME|all] neighbor [ethernet interface_name|vlan vlan_id|link-aggregation lag_id|A.B.C.D][detail][all][json]

[Purpose]

Display lsa information of LSDB. Json o/p of this command covers base route information i.e all LSAs except opaque lsa info

[Parameter]

interface_name Ethernet interface name (0..54)

vlan_id VLAN id (1..4094)

lag_id Link-aggregation interface number

A.B.C.D IP address

[View]

System view

[Use Cases]

sonic# show ip ospf vrf all neighbor
OSPF Instance: 2
VRF Name: 1
Neighbor ID Pri State Up Time Dead Time Address Interface RXmtL RqstL DBsmL
2.2.2.2 1 Full/DR 14m07s 32.466s 20.1.1.2 Vlan20:20.1.1.1 0 0 0

show ip ospf database {max-age|self-originate}

Section titled “show ip ospf database {max-age|self-originate}”

[Command]

show ip ospf [vrf {NAME|all}] database max-age {max-age|self-originate}

[Purpose]

Show the OSPF database summary.

[Parameter]

NAME VRF name

[View]

System view

[Use Cases]

sonic# show ip ospf vrf all database max-age

show ip ospf database {opaque-link|opaque-area}

Section titled “show ip ospf database {opaque-link|opaque-area}”

[Command]

show ip ospf [vrf {NAME|all}] database {opaque-link|opaque-area|} [A.B.C.D][adv-router A.B.C.D][self-originate]

[Purpose]

Show opaque LSA from the database.

[Parameter]

NAME VRF name

A.B.C.D IP address

[View]

System view

[Use Cases]

sonic# show ip ospf database opaque-link

[Command]

show ip ospf [vrf NAME|all] route [json]

[Purpose]

Show the OSPF routing table, as determined by the most recent SPF calculation..

[View]

System view

[Use Cases]

sonic# show ip ospf vrf all route
OSPF Instance: 2
VRF Name: 1
============ OSPF network routing table ============
N 20.1.1.0/24 [10000] area: 3.1.1.1
directly attached to Vlan20
============ OSPF router routing table =============
============ OSPF external routing table ===========

[Command]

show ip ospf router-info [pce]

[Purpose]

Show router capabilities flag

[View]

System view

[Use Cases]

sonic# show ip ospf router-info pce

[Command]

router ospf [vrf NAME]

no router ospf

[Purpose]

Enable or disable the OSPF process

[Parameter]

NAME VRF name

[View]

System configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)#

[Command]

ospf router-id A.B.C.D

no ospf router-id A.B.C.D

[Purpose]

This sets the router-ID of the OSPF process.

[Parameter]

A.B.C.D OSPF router-id in IP address format

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# ospf router-id 1.1.1.1

[Command]

ospf rfc1583compatibility

no ospf rfc1583compatibility

[Purpose]

RFC 2328, the successor to RFC 1583, suggests according to section G.2 (changes) in section 16.4 a change to the path preference algorithm that prevents possible routing loops that were possible in the old version of OSPFv2. More specifically it demands that inter-area paths and intra-area backbone path are now of equal preference but still both preferred to external paths.

[View]

OSPF view

[Notes]

This command disables OPSF rfc1583compatibility.

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# ospf rfc1583compatibility

[Command]

network A.B.C.D/M area {A.B.C.D|area_id}

no network A.B.C.D/M area {A.B.C.D|area_id}

[Purpose]

This command specifies the OSPF enabled interface(s). 

[Parameter]

A.B.C.D/M network address

A.B.C.D OSPF router-id

area_id area_id

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# network 1.1.1.1/24 area 11

[Command]

area {A.B.C.D|area_id} range A.B.C.D/M [advertise [cost metric]]

no area {A.B.C.D|area_id} range A.B.C.D/M [advertise [cost metric]]

[Purpose]

Summarize intra area paths from specified area into one Type-3 summary-LSA announced to other areas.

[Parameter]

A.B.C.D/M network address

A.B.C.D ospf router-id

area_id AREA ID

metric advertised metric for this range (0..16777215)

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# area 1.1.1.1 range 1.1.1.1/32 advertise cost 100

area {A.B.C.D|area_id} range A.B.C.D/M {substitute A.B.C.D/M|cost metric}

Section titled “area {A.B.C.D|area_id} range A.B.C.D/M {substitute A.B.C.D/M|cost metric}”

[Command]

area {A.B.C.D|area_id} range A.B.C.D/M {substitute A.B.C.D/M|cost metric}

no area {A.B.C.D|area_id} range A.B.C.D/M {substitute A.B.C.D/M|cost metric}

[Purpose]

Substitute summarized prefix with another prefix

[Parameter]

A.B.C.D/M network address

area_id AREA ID

metric advertised metric for this range (0..16777215)

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# area 1.1.1.1 range 1.1.1.1/32 substitute 1.1.1.1/32 cost 100

area {A.B.C.D|area_id} {stub|nssa} [no-summary]

Section titled “area {A.B.C.D|area_id} {stub|nssa} [no-summary]”

[Command]

area {A.B.C.D|area_id} {stub|nssa} [no-summary]

no area {A.B.C.D|area_id} {stub|nssa} [no-summary]

[Purpose]

Prevents an OSPF ABR from injecting inter-area summaries into the specified stub area

[Parameter]

A.B.C.D OSPF router-id

area_id area_id

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# area 1.1.1.1 stub no-summary

[Command]

ip ospf area {A.B.C.D|area_id} [a.b.c.d]

no ip ospf area {A.B.C.D|area_id} [a.b.c.d]

[Purpose]

Enable OSPF on the interface, optionally restricted to just the IP address given by ADDR, putting it in the AREA area.

[Parameter]

A.B.C.D OSPF router-id

area_id area_id

a.b.c.d Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf area 1.1.1.1 2.2.2.2

[Command]

ip ospf authentication-key KEY [A.B.C.D]

no ip ospf authentication-key KEY [A.B.C.D]

[Purpose]

Set OSPF authentication key to a simple password. After setting AUTH_KEY, all OSPF packets are authenticated. AUTH_KEY has length up to 8 chars.

[Parameter]

KEY The OSPF password (key)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf authentication-key test123 1.1.1.1

[Command]

ip ospf authentication [message-digest] [A.B.C.D]

no ip ospf authentication [message-digest] [A.B.C.D]

[Purpose]

Specify that MD5 HMAC authentication must be used on this interface

[Parameter]

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf authentication message-digest 1.1.1.1

[Command]

ip ospf message-digest-key KEY_ID md5 MD5 [A.B.C.D]

no ip ospf message-digest-key KEY_ID md5 MD5 [A.B.C.D]

[Purpose]

Set OSPF authentication key to a cryptographic password. The cryptographic algorithm is MD5.

[Parameter]

KEY_ID Key ID (1..255)

MD5 Use MD5 algorithm

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf message-digest-key 2 md5 s 1.1.1.1

[Command]

ip ospf cost COST [A.B.C.D]

no ip ospf cost COST [A.B.C.D]

[Purpose]

Set link cost for the specified interface. 

[Parameter]

COST Cost (1..65535)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf cost 12

ip ospf dead-interval {interval|minimal hello-multiplier number}

Section titled “ip ospf dead-interval {interval|minimal hello-multiplier number}”

[Command]

ip ospf dead-interval {interval|minimal hello-multiplier number} [A.B.C.D]

no ip ospf dead-interval {interval|minimal hello-multiplier number}[A.B.C.D]

[Purpose]

Set interface’s router dead interval. Default value is 40. 

[Parameter]

interval Seconds (1..65535)

number Number of Hellos to send each second (1..10)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf dead-interval 2 1.1.1.1

[Command]

ip ospf hello-interval interval [A.B.C.D]

no ip ospf hello-interval interval [A.B.C.D]

[Purpose]

Set interface’s hello interval. Default 10. 

[Parameter]

interval Seconds (1..65535)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf hello-interval 2 1.1.1.1

ip ospf network {broadcast|non-broadcast|point-to-multipoint|point-to-point}

Section titled “ip ospf network {broadcast|non-broadcast|point-to-multipoint|point-to-point}”

[Command]

ip ospf network {broadcast|non-broadcast|point-to-multipoint|point-to-point}

no ip ospf network {broadcast|non-broadcast|point-to-multipoint|point-to-point}

[Purpose]

Set explicitly network type for specified interface.

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf network broadcast

[Command]

ip ospf priority priority [A.B.C.D]

no ip ospf priority priority [A.B.C.D]

[Purpose]

Set router priority integer value.

[Parameter]

priority Priority (0..255)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf priority 12

[Command]

ip ospf retransmit-interval interval [A.B.C.D]

no ip ospf retransmit-interval interval [A.B.C.D]

[Purpose]

Set number of seconds for RxmtInterval timer value

[Parameter]

interval Seconds (1..65535)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf retransmit-interval 2

[Command]

ip ospf transmit-delay interval [A.B.C.D]

no ip ospf transmit-delay interval [A.B.C.D]

[Purpose]

Set number of seconds for InfTransDelay value.

[Parameter]

interval Seconds (1..65535)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf retransmit-interval 2

[Command]

ip ospf mtu-ignore

no ip ospf mtu-ignore

[Purpose]

Ignore MTU when establish OSPF

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf mtu-ignore

[Command]

ip ospf passive

no ip ospf passive

[Purpose]

Configuring OSPF passive interfaces

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf passive

redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table}

Section titled “redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table}”

[Command]

redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table} [metric-type metric_type] [metric metric] [route-map route_map]

no redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table} [metric-type metric_type] [metric metric] [route-map route_map]

[Purpose]

Redistribute routes of the specified protocol or kind into OSPF, with the metric type and metric set if specified, filtering the routes using the given route-map if specified. 

[Parameter]

metric_type Set OSPF External Type 1/2 metrics (1..2)

metric OSPF default metric (0..16777214)

route-map Pointer to route-map entries

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# redistribute static metric-type 1 metric 2 route-map test

[Command]

default-information originate [always] [metric-type metric_type][metric metric][route-map route_map]

no default-information originate [always] [metric-type metric_type][metric metric][route-map route_map]

[Purpose]

Originate an AS-External (type-5) LSA describing a default route into all external-routing capable areas, of the specified metric and metric type. If the ‘always’ keyword is given then the default is always advertised, even when there is no default present in the routing table.

[Parameter]

metric_type Set OSPF External Type 1/2 metrics (1..2)

metric OSPF default metric (0..16777214)

route-map Pointer to route-map entries

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# default-information originate always

[Command]

distribute-list route-map String in

[Purpose]

Apply the route-map filter to filter the routes that need to be learned

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# distribute-list route-map test in

[Command]

default-metric metric

no default-metric metric

[Purpose]

Set default metric 

[Parameter]

metric OSPF default metric (0..16777214)

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# default-metric 2

distance [ospf {intra-area|inter-area|external}] distance

Section titled “distance [ospf {intra-area|inter-area|external}] distance”

[Command]

distance [ospf {intra-area|inter-area|external}] distance

no distance [ospf {intra-area|inter-area|external}] distance

[Purpose]

Set OSPF distance

[Parameter]

distance Distance for external routes (1..255)

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf
sonic(config-router)# distance ospf external 2

[Command]

show ipv6 ospf6

[Purpose]

Display OSPFv3 details

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6

[Command]

show ipv6 ospf6 database [detail|dump|internal]

show ipv6 ospf6 database [router|network|inter-prefix|inter-router|as-external|group-membership|type-7|link|intra-prefix][detail|dump|internal]

[Purpose]

This command shows LSAs present in the LSDB. 

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 database detail

show ipv6 ospf6 database adv-router A.B.C.D linkstate-id A.B.C.D

Section titled “show ipv6 ospf6 database adv-router A.B.C.D linkstate-id A.B.C.D”

[Command]

show ipv6 ospf6 database adv-router A.B.C.D linkstate-id A.B.C.D

[Purpose]

The LSAs additinally can also be filtered with the linkstate-id and advertising-router fields

[Parameter]

A.B.C.D IP address

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 database network adv-router 1.1.1.1 linkstate-id 1.1.1.1

[Command]

show ipv6 ospf6 database self-originated

[Purpose]

This command is used to filter the LSAs which are originated by the present router.

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 database self-originated
Section titled “show ipv6 ospf6 interface [ethernet interface_name|vlan vlan_id|link-aggregation lag_id]”

[Command]

show ipv6 ospf6 interface [ethernet interface_name|vlan vlan_id|link-aggregation lag_id]

[Purpose]

To see OSPF interface configuration like costs.

[Parameter]

interface_name Ethernet interface name (0..54)

vlan_id VLAN id (1..4094)

lag-id Link-aggregation interface number

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 interface ethernet 1

[Command]

show ipv6 ospf6 neighbor

[Purpose]

Show state and chosen (backup) DR of neighbor.

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 neighbor

[Command]

show ipv6 ospf6 interface traffic

[Purpose]

Show counts of different packets that have been received and transmitted by the interfaces

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 interface traffic

[Command]

show ipv6 route ospf6

[Purpose]

This command shows internal routing table

[View]

System view

[Use Cases]

sonic# show ipv6 route ospf6

[Command]

show ipv6 ospf6 redistribute

[Purpose]

Show the routes which are redistributed by the router.

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 redistribute

show ipv6 ospf6 route X:X::X:X/M match [detail]

Section titled “show ipv6 ospf6 route X:X::X:X/M match [detail]”

[Command]

show ipv6 ospf6 route X:X::X:X/M match [detail]

[Purpose]

The additional match option will match the given address to the destination of the routes, and return the result accordingly. 

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 route 1::1/64 match detail
Section titled “show ipv6 ospf6 interface [ethernet interface_name|vlan vlan_id|link-aggregation lag_id] prefix [detail|X:X::X:X|X:X::X:X/M [match|detail]]”

[Command]

show ipv6 ospf6 interface [ethernet interface_name|vlan vlan_id|link- aggregation lag_id] prefix [detail|X:X::X:X|X:X::X:X/M [match|detail]]

[Purpose]

This command shows the prefixes present in the interface routing table. Interface name can also be given. 

[Parameter]

interface_name Ethernet interface name (0..54)

vlan_id VLAN id (1..4094)

lag-id Link-aggregation interface number

[View]

System view

[Use Cases]

sonic# show ipv6 ospf6 interface ethernet 1 prefix 1::1/64 match

[Command]

ospf6 router-id A.B.C.D

[Purpose]

This sets the router-ID of the OSPF6 process..

[Parameter]

A.B.C.D OSPF6 router-id in IP address format

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf6
sonic(config-router)# ospf6 router-id 1.1.1.1

timers throttle spf delay_time init_hold_time max_hold_time

Section titled “timers throttle spf delay_time init_hold_time max_hold_time”

[Command]

timers throttle spf delay_time init_hold_time max_hold_time

no timers throttle spf delay_time init_hold_time max_hold_time

[Purpose]

This command sets the initial delay, the initial-holdtime and the maximum-holdtime. 

[Parameter]

delay_time time (msec) (0..600000))

init_hold_time inital time (msec) (0..600000))

max_hold_time maxtime (msec) (0..600000))

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf6
sonic(config-router)# timers throttle spf 1 2 3

[Command]

auto-cost reference-bandwidth bandwidth

no auto-cost reference-bandwidth bandwidth

[Purpose]

This command configures the auto-cost reference broadband for OSPFv3. 

[Parameter]

bandwidth The reference bandwidth in terms of Mbits per second (1..4294967)

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf6
sonic(config-router)# auto-cost reference-bandwidth 2

[Command]

area {A.B.C.D|area_id} range X:X::X:X/M [advertise|not-advertise |cost metric]

no area {A.B.C.D|area_id} range X:X::X:X/M [advertise|not-advertise |cost metric]

[Purpose]

Summarize a group of internal subnets into a single Inter-Area-Prefix LSA. This command can only be used at the area boundary (ABR router)

[Parameter]

X:X::X:X/M IPv6 prefix

A.B.C.D OSPF router-id

metric advertised metric for this range (0..16777215)

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf6
sonic(config-router)# area 1.1.1.1 range 1::1/64 advertise

[Command]

ipv6 ospf6 cost COST

no ipv6 ospf6 cost COST

[Purpose]

Set link cost for the specified interface. 

[Parameter]

COST Cost (1..65535)

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ipv6 ospf6 cost 12

[Command]

ipv6 ospf6 hello-interval interval

no ipv6 ospf6 hello-interval interval

[Purpose]

Sets interface’s hello interval. Default value is 10

[Parameter]

interval Seconds (1..65535)

A.B.C.D Address of interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ip ospf hello-interval 2 1.1.1.1

[Command]

ipv6 ospf6 dead-interval interval

no ipv6 ospf6 dead-interval interval

[Purpose]

Set interface’s router dead Interval. Default value is 40. 

[Parameter]

interval Seconds (1..65535)

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ipv6 ospf6 dead-interval 2

[Command]

ipv6 ospf6 transmit-delay interval

no ipv6 ospf6 transmit-delay interval

[Purpose]

Set number of seconds for infTransDelay value.

[Parameter]

interval Seconds (1..65535)

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ipv6 ospf6 retransmit-interval 2

[Command]

ipv6 ospf6 priority priority

no ipv6 ospf6 priority priority

[Purpose]

Set router priority integer value.

[Parameter]

priority Priority (0..255)

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ipv6 ospf6 priority 12

[Command]

ipv6 ospf6 retransmit-interval interval

no ipv6 ospf6 retransmit-interval interval

[Purpose]

Set number of seconds for rxmtInterval timer value

[Parameter]

interval Seconds (1..65535)

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ipv6 ospf6 retransmit-interval 2

ipv6 ospf6 network {broadcast|point-to-point}

Section titled “ipv6 ospf6 network {broadcast|point-to-point}”

[Command]

ipv6 ospf6 network {broadcast|point-to-point}

no ipv6 ospf6 network {broadcast|point-to-point}

[Purpose]

Set explicitly network type for specified interface

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ipv6 ospf6 network broadcast

[Command]

ipv6 ospf6 mtu-ignore

no ipv6 ospf6 mtu-ignore

[Purpose]

Ignore MTU when establish OSPFv3.

[View]

Interface view

[Use Cases]

sonic# configure terminal
sonic(config)# interface ethernet 1
sonic(config-if-1)# ipv6 ospf6 mtu-ignore

redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table}

Section titled “redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table}”

[Command]

redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table} [route-map route_map]

no redistribute {babel|bgp|connected|eigrp|isis|kernel|openfabric|ospf|rip|sharp|static|table} [route-map route_map]

[Purpose]

Redistribute routes of the specified protocol or kind into OSPFv3, with the metric type and metric set if specified, filtering the routes using the given route-map if specified. 

[Parameter]

route-map Pointer to route-map entries

[View]

OSPF view

[Use Cases]

sonic# configure terminal
sonic(config)# router ospf6
sonic(config-router)# redistribute static route-map test

[Command]

show route-map WORD

[Purpose]

Display data about each daemons knowledge of individual route-maps

[Parameter]

WORD route-map name

[View]

System view

[Use Cases]

sonic# show route-map

[Command]

clear route-map counters WORD

[Purpose]

Clear counters that are being stored about the route-map utilization so that subsuquent show commands will indicate since the last clear

[Parameter]

WORD route-map name

[View]

System view

[Use Cases]

sonic# clear route-map counters

[Command]

show ip prefix-list {detail|summary|NAME}

[Purpose]

Display the IP prefix list

[View]

System view

[Use Cases]

sonic# show ip prefix-list summary

bgp large-community-list {standard|expanded} NAME {permit|deny} LARGE-COMMUNITYITY

Section titled “bgp large-community-list {standard|expanded} NAME {permit|deny} LARGE-COMMUNITYITY”

[Command]

bgp large-community-list {standard|expanded} NAME {permit|deny} LARGE-COMMUNITY

no bgp large-community-list {standard|expanded} NAME {permit|deny} LARGE-COMMUNITY

[Purpose]

This command defines a new standard large-community-list

[Parameter]

Standard Standard community list

Expanded Expanded community list

NAME Community list name

LARGE-COMMUNITY large community in ‘aa:bb:cc’ format

[View]

System configuration view

[Notes]

When filtering BGP large community attributes, you can configure multiple filter criteria within the same entry. The relationship between filter criteria is “AND,” which means all filter criteria must be matched for the rule to be considered a match. For example, with the command “bgp large-community-list standard test 10 permit 100:1:1 200:1:1 300:1:1,” the rule will be considered a match only when all three large community values (100:1:1, 200:1:1, and 300:1:1) are simultaneously present.

Within a single list, multiple rules have an “OR” relationship. For example, with the commands “bgp large-community-list standard test 10 permit 100:1:1” and “bgp large-community-list standard test 20 permit 200:1:1,” when searching for rules within the “test” group, matching either 100:1:1 or 200:1:1 will be considered a match.

[Use Cases]

sonic# configure terminal
sonic(config)# bgp large-community-list standard as permit aa:bb:cc

[Command]

route-map WORD {permit|deny} ORDER

no route-map WORD {permit|deny} ORDER

[Purpose]

Configure the order’th entry in route-map-name with Match Policy of either permit or deny

[Parameter]

WORD route-map name

ORDER Sequence to insert to/delete from existing route-map entry (1..65535)

[Notes]

This command unconfigures the order entry in the routing table name.

[View]

System configuration view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233

[Command]

ip prefix NAME [seq number] {permit|deny} {any|A.B.C.D/M {ge|le} length}

no ip prefix NAME

[Purpose]

Configures an IP prefix list or one entry in the IP prefix list

[Parameter]

ParameterDescription
NAMESpecifies the name of an Ip prefix list
seq numberSpecifies the sequence number of the entry in the IP prefix list. The value is an integer ranging from 1 to 4294967295, By default, the sequence number increases with a step of 5 according to the configuration order, and the first number is 1.
permitSpecifies the matching mode of the IP prefix list as permit. In permit mode, if the IP address to be filtered is in the defined prefix range, the IP address matches the route-policy and no longer match against the next entry. Otherwise, the IP address continues to match against the next entry
denySpecifies the matching mode of the IP prefix list as deny. In deny mode, if the IP address to be filtered is in the defined prefix range, the IP address fails to match the route-policy and cannot match against the next entry. Otherwise, the IP address continues to match against the next entry
anyAll IP address
A.B.C.D/MSpecifies the IP address
ge lengthSpecifies the minimum value of the mask length range
le lengthSpecifies the maximum value of the mask length range
descriptionSpecifies the description information of the IP prefix list

[Notes]

An IP prefix list can be used as a filter or as filtering conditions of a route-map

The matching principle of table entries in the address prefix list is: match according to the ordinal ID from smallest to largest, and no other table entries will be matched after the filtered route hits a certain table entry, and the route that cannot match any table entry is deemed to have failed the filter and will not enter any subsequent processing

[View]

System config view

[Use Cases]

sonic(config)# ip prefix-list test permit 1.1.1.0/24 ge 32

match {ip|ipv6} address {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME}

Section titled “match {ip|ipv6} address {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME}”

[Command]

match {ip|ipv6} address {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME}

no match {ip|ipv6} address {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME}

[Purpose]

Matches the specified prefix-list

[Parameter]

LENGTH Match prefix length of IP address

PREFIX-LIST-NAME Match entries of prefix-lists

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match ip address prefix-list test

match {ip|ipv6} next-hop {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME|address{A.B.C.D|X:X::X:X}|type blackhole}

Section titled “match {ip|ipv6} next-hop {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME|address{A.B.C.D|X:X::X:X}|type blackhole}”

[Command]

match {ip|ipv6} next-hop {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME|address{A.B.C.D|X:X::X:X}|type blackhole}

no match {ip|ipv6} next-hop {prefix-len LENGTH|prefix-list PREFIX-LIST-NAME|address{A.B.C.D|X:X::X:X}|type blackhole}

[Purpose]

Match the next-hop

[Parameter]

LENGTH Match prefix length of IP address

PREFIX-LIST-NAME Match entries of prefix-lists

A.B.C.D IP address of next-hop

X:X::X:X IPv6 address of next-hop

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match ip next-hop type blackhole

[Command]

match as-path String

no match as-path String

[Purpose]

Matches the specified as_path.

[Parameter]

String AS path access-list name

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match as-path test

[Command]

match metric METRIC

no match metric METRIC

[Purpose]

Matches the specified metric.

[Parameter]

METRIC value (0..4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match metric 12

[Command]

match tag TAG

no match tag TAG

[Purpose]

Matches the specified tag value associated with the route. 

[Parameter]

TAG Tag value (1..4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match tag 12

[Command]

match local-preference METRIC

no match local-preference METRIC

[Purpose]

Matches the specified local-preference. 

[Parameter]

METRIC Metric value (0..4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match local-preference 12

[Command]

match community COMMUNITY-LIST

no math community COMMUNITY-LIST

[Purpose]

Matches the specified community_list. 

[Parameter]

COMMUNITY-LIST Community-list name

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match community test

match peer {A.B.C.D|X:X::X:X|INTERFACE_NAME}

Section titled “match peer {A.B.C.D|X:X::X:X|INTERFACE_NAME}”

[Command]

match peer {A.B.C.D|X:X::X:X|INTERACE_NAME}

no match peer {A.B.C.D|X:X::X:X|INTERACE_NAME}

[Purpose]

This is a BGP specific match command. Matches the peer ipv6 address if the neighbor was specified in this manner.

[Parameter]

A.B.C.D IP address of peer

X:X::X:X IPv6 address of peer

INTERFACE_NAME Interface name of peer

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match peer 1.1.1.1

[Command]

match peer local

no match peer local

[Purpose]

Matches the peer static or redistributed routes. 

[Notes]

This command unmatches peer-to-peer static or redistributed routes.

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match peer local

match source-protocol {kernel|connected|static|rip|ripng|ospf|ospf6|isis|bgp|eigrp|nhrp|table|vnc|babel|sharp|openfabric}

Section titled “match source-protocol {kernel|connected|static|rip|ripng|ospf|ospf6|isis|bgp|eigrp|nhrp|table|vnc|babel|sharp|openfabric}”

[Command]

match source-protocol {kernel|connected|static|rip|ripng|ospf|ospf6|isis|bgp|eigrp|nhrp|table|vnc|babel|sharp|openfabric}

no match source-protocol {kernel|connected|static|rip|ripng|ospf|ospf6|isis|bgp|eigrp|nhrp|table|vnc|babel|sharp|openfabric}

[Purpose]

This is a ZEBRA specific match command. Matches the originating protocol specified. 

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match source-protocol static

[Command]

match source-instance INSTANCE

no match source-instance INSTANCE

[Purpose]

This is a ZEBRA specific match command.

[Parameter]

INSTANCE The instance number (0..255)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# match source-instance 2

[Command]

set tag TAG

no set tag TAG

[Purpose]

Set a tag on the matched route.

[Parameter]

TAG Tag value (1..4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set tag 12

[Command]

set ip next-hop A.B.C.D

no set ip next-hop A.B.C.D

[Purpose]

Set the BGP nexthop address

[Parameter]

A.B.C.D IP address

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set ip next-hop 1.1.1.1

[Command]

set ip next-hop peer-address

no set ip next-hop peer-address

[Purpose]

Set the BGP nexthop address to the address of the peer

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set ip next-hop peer-address

[Command]

set ip next-hop unchanged

no set ip next-hop unchanged

[Purpose]

Set the route-map as unchanged

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set ip next-hop unchanged

[Command]

set ipv6 next-hop peer-address

no set ipv6 next-hop peer-address

[Purpose]

Set the BGP nexthop address to the address of the peer.

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set ipv6 next-hop peer-address

[Command]

set ipv6 next-hop prefer-global

no set ipv6 next-hop prefer-global

[Purpose]

For Incoming and Import Route-maps if we receive a v6 global and v6 LL address for the route, then prefer to use the global address as the nexthop.

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set ipv6 next-hop prefer-global

[Command]

set ipv6 next-hop global X:X::X:X

no set ipv6 next-hop global X:X::X:X

[Purpose]

Set the next-hop to the specified IPV6_ADDRESS for both incoming and outgoing route-maps.

[Parameter]

X:X::X:X IPv6 address of next hop

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set ipv6 next-hop global 100::1

[Command]

set local-preference PREFERENCE

no set local-preference PREFERENCE

[Purpose]

Subtract the BGP local preference.

[Parameter]

PREFERENCE Preference value (0-4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set local-preference 12

[Command]

set distance DISTANCE

no set distance DISTANCE

[Purpose]

Set the administrative distance

[Parameter]

DISTANCE Distance value (0..255)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set distance 12

[Command]

set weight WEIGHT

no set weight WEIGHT

[Purpose]

Set the route’s weight.

[Parameter]

WEIGHT value (0..4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set weight 12

[Command]

set metric {METRIC|rtt|+rtt|-rtt}

no set metric {METRIC|rtt|+rtt|-rtt}

[Purpose]

Set the BGP attribute MED to a specific value.

[Parameter]

METRIC 2147483647..2147483647

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set metric 12

set as-path prepend [AS_PATH] [last-as NUMBER]

Section titled “set as-path prepend [AS_PATH] [last-as NUMBER]”

[Command]

set as-path prepend [AS_PATH] [last-as NUMBER]

no set as-path prepend [AS_PATH] [last-as NUMBER]

[Purpose]

Set the BGP AS path to prepend.

[Parameter]

AS_PATH AS number (1..4294967295)

NUMBER Number of times to insert (1..10)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set as-path prepend 12

[Command]

set as-path exclude [AS_NUMBER]

no set as-path exclude [AS_NUMBER]

[Purpose]

Drop AS-NUMBER from the BGP AS path.

[Parameter]

AS_NUMBER AS number (1..4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set as-path exclude 12

[Command]

set community [COMMUNITY]

no set community [COMMUNITY]

[Purpose]

Set the BGP community attribute.

[Parameter]

COMMUNITY Community number in AA:NN format (where AA and NN are (0-65535)) or local-AS|no-advertise|no-export|internet or additive

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set community 12

[Command]

set origin {egp|igp|incomplete}

no set origin {egp|igp|incomplete}

[Purpose]

Set BGP route origin.

[Notes]

This command cancels the BGP route origin setting.

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set origin igp

[Command]

set table TABLEID

no set table TABLEID

[Purpose]

Set the BGP table to a given table identifier.

[Parameter]

TABLEID Kernel routing table id (1..4294967295)

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# set table 12

[Command]

on-match {goto NUMBER|next}

no on-match {goto NUMBER|next}

[Purpose]

Proceed on to the next entry in the route-map

[Parameter]

NUMBER Number (1..65535))

[View]

Route-map view

[Use Cases]

sonic# clear route-map counters
sonic(config)# route-map test permit 233
sonic(config-route-map)# on-match next

[Command]

set src ip-address

[Purpose]

Set the preferred source address for matching routes when installing in the kernel

[Parameter]

ip-address IPv4/IPv6 address

[View]

Route-map view

[Use Cases]

sonic(config)# route-map RM_SET_SRC permit 10
sonic(config-route-map)# set src 30.11.0.48

ip protocol protocol route-map routemap routemap

Section titled “ip protocol protocol route-map routemap routemap”

[Command]

ip protocol protocol route-map routemap

[Purpose]

Filter which routes will install in the kernel

[Parameter]

protocol kernel/connected/static/rip/ospf/isis/bgp/any

routemap router map name

[View]

System configuration view

[Use Cases]

sonic(config)# ip protocol bgp route-map RM_SET_SRC

[Command]

show vrf brief

[Purpose]

Display vrf-related configuration information

[View]

System view

[Use Cases]

sonic# show vrf brief
+------------+-------+-----------+
| vrf name | vni | src_mac |
+============+=======+===========+
| 100 | | |
+------------+-------+-----------+
| 101 | | |
+------------+-------+-----------+
| 200 | 2000 | |
+------------+-------+-----------+

[Command]

vrf vrfname

[Purpose]

Add VRF

[Parameter]

vrfname VRF name, length 1-11

[View]

System configuration view

[Use Cases]

sonic# configure terminal
sonic(config)# vrf 123

[Command]

ip route A.B.C.D/M A.B.C.D

[Purpose]

Add VRF routes

[Parameter]

A.B.C.D/M IP address

A.B.C.D IP address

[View]

VRF View

[Use Cases]

sonic# configure terminal
sonic(config)# vrf 123
sonic(config-vrf)# ip route 10.0.0.0/24 20.0.0.2