Capability
Scenario to verify BGP peer-group capability inheritance.
When capability dynamic is configured on a peer-group, members advertise
the dynamic capability during session setup, allowing future capability changes
without resetting the session.
Test iBGP - Peer-group capability dynamic is negotiated
Description
Test that capability dynamic configured on a peer-group is inherited by its
members. Both peers advertise the dynamic capability and it is successfully
negotiated.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.10.0.100/24 set protocols bgp 20 neighbor peer peer-group MYGROUP set protocols bgp 20 neighbor peer remote-address 10.10.0.200 set protocols bgp 20 neighbor peer remote-as 20 set protocols bgp 20 peer-group MYGROUP capability dynamic set protocols bgp 20 peer-group MYGROUP remote-as 20 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT1 :
set interfaces dummy dum0 address 1.1.1.1/24 set interfaces ethernet eth0 address 10.10.0.200/24 set protocols bgp 20 neighbor peer capability dynamic set protocols bgp 20 neighbor peer remote-address 10.10.0.100 set protocols bgp 20 neighbor peer remote-as 20 set protocols bgp 20 redistribute connected set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify iBGP session establishes with dynamic capability.
Step 3: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:
10.10.0.200.*EstablishedShow output
IPv4 Unicast Summary: BGP router identifier 10.10.0.100, local AS number 20 VRF default vrf-id 0 BGP table version 2 RIB entries 3, using 384 bytes of memory Peers 1, using 24 KiB of memory Peer groups 1, using 64 bytes of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 10.10.0.200 10.10.0.100 4 20 5 4 2 0 0 00:00:02 Established 2 0 FRRouting/10.4.1 Total number of neighbors 1
Attention
Verify dynamic capability is advertised and received.
Step 4: Run command protocols bgp show ip neighbors at DUT0 and check if output matches the following regular expressions:
Dynamic: advertised and receivedShow output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 20, internal link Local Role: undefined Remote Role: undefined Hostname: osdx Member of peer-group MYGROUP for session parameters BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100 BGP state = Established, up for 00:00:02 Last read 00:00:01, Last write 00:00:01 Hold time is 90 seconds, keepalive interval is 30 seconds Configured hold time is 90 seconds, keepalive interval is 30 seconds Configured tcp-mss is 0, synced tcp-mss is 1448 Configured conditional advertisements interval is 60 seconds Neighbor capabilities: 4 Byte AS: advertised and received AddPath: IPv4 Unicast: RX advertised and received Paths-Limit: IPv4 Unicast: advertised (0) and received (0) Dynamic: advertised and received Long-lived Graceful Restart: advertised and received Address families by peer: Route refresh: advertised and received Enhanced Route Refresh: advertised and received Address Family IPv4 Unicast: advertised and received Hostname Capability: advertised (name: osdx,domain name: n/a) received (name: osdx,domain name: n/a) Version Capability: advertised software version (FRRouting/10.4.1) received software version (FRRouting/10.4.1) Link-Local Next Hop Capability: not advertised not received Graceful Restart Capability: advertised and received Remote Restart timer is 120 seconds Address families by peer: none Graceful restart information: End-of-RIB send: IPv4 Unicast End-of-RIB received: IPv4 Unicast Local GR Mode: Helper* Remote GR Mode: Helper R bit: True N bit: True Timers: Configured Restart Time(sec): 120 Received Restart Time(sec): 120 Configured LLGR Stale Path Time(sec): 0 IPv4 Unicast: F bit: False End-of-RIB sent: Yes End-of-RIB sent after update: Yes End-of-RIB received: Yes Timers: Configured Stale Path Time(sec): 360 LLGR Stale Path Time(sec): 0 Message statistics: Inq depth is 0 Outq depth is 0 Sent Rcvd Opens: 2 1 Notifications: 0 0 Updates: 1 3 Keepalives: 1 1 Route Refresh: 0 0 Capability: 0 0 Total: 4 5 Prefix statistics: Inbound filtered: 0 AS-PATH loop: 0 Originator loop: 0 Cluster loop: 0 Invalid next-hop: 0 Withdrawn: 0 Attributes discarded: 0 Minimum time between advertisement runs is 0 seconds For address family: IPv4 Unicast MYGROUP peer-group member Update group 1, subgroup 1 Packet Queue length 0 Community attribute sent to this neighbor(all) 2 accepted, 0 sent prefixes Connections established 1; dropped 0 Last reset 00:00:04, Waiting for peer OPEN (FRRouting/10.4.1) Internal BGP neighbor may be up to 255 hops away. Local host: 10.10.0.100, Local port: 179 Foreign host: 10.10.0.200, Foreign port: 35078 Nexthop: 10.10.0.100 Nexthop global: fe80::dcad:beff:feef:6c00 Nexthop local: fe80::dcad:beff:feef:6c00 BGP connection: shared network BGP Connect Retry Timer in Seconds: 30 Estimated round trip time: 0 ms Read thread: on Write thread: on FD used: 25
Attention
Verify routes are exchanged normally.
Step 5: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
1.1.1.0/24Show output
BGP table version is 2, local router ID is 10.10.0.100, vrf id 0 Default local pref 100, local AS 20 local address - Status codes: s suppressed, d damped, h history, u unsorted, * 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 *ui 1.1.1.0/24 10.10.0.200 0 100 0 ? *ui 10.10.0.0/24 10.10.0.200 0 100 0 ? Displayed 2 routes and 2 total paths
Test iBGP - Without ORF receives all routes
Description
Baseline test without ORF. DUT1 advertises two networks (1.1.1.0/24 and 2.2.2.0/24) and DUT0 receives both. This serves as a comparison point for the ORF test.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.10.0.100/24 set protocols bgp 20 neighbor peer peer-group MYGROUP set protocols bgp 20 neighbor peer remote-address 10.10.0.200 set protocols bgp 20 neighbor peer remote-as 20 set protocols bgp 20 peer-group MYGROUP remote-as 20 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT1 :
set interfaces dummy dum0 address 1.1.1.1/24 set interfaces dummy dum1 address 2.2.2.1/24 set interfaces ethernet eth0 address 10.10.0.200/24 set protocols bgp 20 neighbor peer remote-address 10.10.0.100 set protocols bgp 20 neighbor peer remote-as 20 set protocols bgp 20 redistribute connected set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify iBGP session establishes.
Step 3: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:
10.10.0.200.*EstablishedShow output
IPv4 Unicast Summary: BGP router identifier 10.10.0.100, local AS number 20 VRF default vrf-id 0 BGP table version 3 RIB entries 5, using 640 bytes of memory Peers 1, using 24 KiB of memory Peer groups 1, using 64 bytes of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 10.10.0.200 10.10.0.100 4 20 6 4 3 0 0 00:00:01 Established 3 0 FRRouting/10.4.1 Total number of neighbors 1
Attention
Verify DUT0 receives both routes from DUT1 (no filtering).
Step 4: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
1.1.1.0/24[\s\S]*2.2.2.0/24Show output
BGP table version is 3, local router ID is 10.10.0.100, vrf id 0 Default local pref 100, local AS 20 local address - Status codes: s suppressed, d damped, h history, u unsorted, * 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 *>i 1.1.1.0/24 10.10.0.200 0 100 0 ? *>i 2.2.2.0/24 10.10.0.200 0 100 0 ? *>i 10.10.0.0/24 10.10.0.200 0 100 0 ? Displayed 3 routes and 3 total paths
Test iBGP - Peer-group capability ORF prefix-list filters routes at source
Description
Test BGP capability orf prefix-list configured on a peer-group. DUT0 is configured
with ORF send mode via peer-group and has a prefix-list that only permits 1.1.1.0/24.
DUT1 receives the filter and only sends 1.1.1.0/24, filtering 2.2.2.0/24 at source.
Scenario
Step 1: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.10.0.100/24 set protocols bgp 20 neighbor peer peer-group MYGROUP set protocols bgp 20 neighbor peer prefix-list import ALLOW-NET1 set protocols bgp 20 neighbor peer remote-address 10.10.0.200 set protocols bgp 20 neighbor peer remote-as 20 set protocols bgp 20 peer-group MYGROUP capability orf prefix-list send set protocols bgp 20 peer-group MYGROUP remote-as 20 set protocols ip prefix-list ALLOW-NET1 rule 1 action permit set protocols ip prefix-list ALLOW-NET1 rule 1 prefix 1.1.1.0/24 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT1 :
set interfaces dummy dum0 address 1.1.1.1/24 set interfaces dummy dum1 address 2.2.2.1/24 set interfaces ethernet eth0 address 10.10.0.200/24 set protocols bgp 20 neighbor peer capability orf prefix-list receive set protocols bgp 20 neighbor peer remote-address 10.10.0.100 set protocols bgp 20 neighbor peer remote-as 20 set protocols bgp 20 redistribute connected set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Attention
Verify iBGP session establishes with ORF capability.
Step 3: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:
10.10.0.200.*EstablishedShow output
IPv4 Unicast Summary: BGP router identifier 10.10.0.100, local AS number 20 VRF default vrf-id 0 BGP table version 1 RIB entries 1, using 128 bytes of memory Peers 1, using 24 KiB of memory Peer groups 1, using 64 bytes of memory Neighbor LocalAddr V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd PfxSnt Desc 10.10.0.200 10.10.0.100 4 20 7 5 1 0 0 00:00:01 Established 1 0 FRRouting/10.4.1 Total number of neighbors 1
Attention
Verify ORF prefix-list capability is negotiated between peers.
Step 4: Run command protocols bgp show ip neighbors at DUT0 and check if output matches the following regular expressions:
Outbound Route Filter \(ORF\): sentShow output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 20, internal link Local Role: undefined Remote Role: undefined Hostname: osdx Member of peer-group MYGROUP for session parameters BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100 BGP state = Established, up for 00:00:01 Last read 00:00:00, Last write 00:00:00 Hold time is 90 seconds, keepalive interval is 30 seconds Configured hold time is 90 seconds, keepalive interval is 30 seconds Configured tcp-mss is 0, synced tcp-mss is 1448 Configured conditional advertisements interval is 60 seconds Neighbor capabilities: 4 Byte AS: advertised and received AddPath: IPv4 Unicast: RX advertised and received Paths-Limit: IPv4 Unicast: advertised (0) and received (0) Long-lived Graceful Restart: advertised and received Address families by peer: Route refresh: advertised and received Enhanced Route Refresh: advertised and received Address Family IPv4 Unicast: advertised and received Hostname Capability: advertised (name: osdx,domain name: n/a) received (name: osdx,domain name: n/a) Version Capability: advertised software version (FRRouting/10.4.1) received software version (FRRouting/10.4.1) Link-Local Next Hop Capability: not advertised not received Graceful Restart Capability: advertised and received Remote Restart timer is 120 seconds Address families by peer: none Graceful restart information: End-of-RIB send: IPv4 Unicast End-of-RIB received: IPv4 Unicast Local GR Mode: Helper* Remote GR Mode: Helper R bit: True N bit: True Timers: Configured Restart Time(sec): 120 Received Restart Time(sec): 120 Configured LLGR Stale Path Time(sec): 0 IPv4 Unicast: F bit: False End-of-RIB sent: Yes End-of-RIB sent after update: Yes End-of-RIB received: Yes Timers: Configured Stale Path Time(sec): 360 LLGR Stale Path Time(sec): 0 Message statistics: Inq depth is 0 Outq depth is 0 Sent Rcvd Opens: 2 1 Notifications: 0 0 Updates: 1 3 Keepalives: 1 1 Route Refresh: 1 2 Capability: 0 0 Total: 5 7 Prefix statistics: Inbound filtered: 0 AS-PATH loop: 0 Originator loop: 0 Cluster loop: 0 Invalid next-hop: 0 Withdrawn: 0 Attributes discarded: 0 Minimum time between advertisement runs is 0 seconds For address family: IPv4 Unicast MYGROUP peer-group member Update group 1, subgroup 1 Packet Queue length 0 AF-dependant capabilities: Outbound Route Filter (ORF) type (64) Prefix-list: Send-mode: advertised Receive-mode: received Outbound Route Filter (ORF): sent; Community attribute sent to this neighbor(all) Inbound path policy configured Incoming update prefix filter list is *ALLOW-NET1 1 accepted, 0 sent prefixes Connections established 1; dropped 0 Last reset never Internal BGP neighbor may be up to 255 hops away. Local host: 10.10.0.100, Local port: 179 Foreign host: 10.10.0.200, Foreign port: 51384 Nexthop: 10.10.0.100 Nexthop global: fe80::dcad:beff:feef:6c00 Nexthop local: fe80::dcad:beff:feef:6c00 BGP connection: shared network BGP Connect Retry Timer in Seconds: 30 Estimated round trip time: 0 ms Read thread: on Write thread: on FD used: 25
Attention
Verify DUT0 receives the permitted route 1.1.1.0/24.
Step 5: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:
1.1.1.0/24Show output
BGP table version is 1, local router ID is 10.10.0.100, vrf id 0 Default local pref 100, local AS 20 local address - Status codes: s suppressed, d damped, h history, u unsorted, * 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 *>i 1.1.1.0/24 10.10.0.200 0 100 0 ? Displayed 1 routes and 1 total paths
Attention
Verify DUT0 does NOT receive 2.2.2.0/24 because ORF filters it at DUT1.
Step 6: Run command protocols bgp show ip at DUT0 and check if output does not match the following regular expressions:
2.2.2.0/24Show output
BGP table version is 1, local router ID is 10.10.0.100, vrf id 0 Default local pref 100, local AS 20 local address - Status codes: s suppressed, d damped, h history, u unsorted, * 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 *>i 1.1.1.0/24 10.10.0.200 0 100 0 ? Displayed 1 routes and 1 total paths