Bfd Mark
Scenario to verify BFD mark (SO_MARK) functionality with BGP. BFD profile mark allows marking BFD packets at the socket level for policy routing in scenarios with VRFs and multiple WANs. These tests verify that the mark is applied correctly, can be changed dynamically, and controls BFD session state when traffic policies filter by mark.
Test BFD Profile Mark
Description
Test that BFD profile mark is applied correctly. Configures a BFD profile with mark 99 on both routers and verifies that BGP establishes, BFD is up with the correct mark value, and end-to-end connectivity works.
Scenario
Step 1: 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 bfd profile BFD_MARK mark 99 set protocols bgp 20 neighbor peer bfd profile BFD_MARK set protocols bgp 20 neighbor peer remote-address 10.10.0.100 set protocols bgp 20 neighbor peer remote-as 10 set protocols bgp 20 neighbor peer route-map export PERMIT set protocols bgp 20 redistribute connected route-map REDIS set protocols logging bgp bfd set protocols logging bgp neighbor-events set protocols logging level debugging set protocols route-map PERMIT rule 1 action permit set protocols route-map REDIS rule 1 action permit set protocols route-map REDIS rule 1 match interface dum0 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.10.0.100/24 set protocols bfd profile BFD_MARK mark 99 set protocols bgp 10 neighbor peer bfd profile BFD_MARK set protocols bgp 10 neighbor peer remote-address 10.10.0.200 set protocols bgp 10 neighbor peer remote-as 20 set protocols bgp 10 neighbor peer route-map import PERMIT set protocols logging bgp bfd set protocols logging bgp neighbor-events set protocols logging level debugging set protocols route-map PERMIT rule 1 action permit set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 3: Run the command protocols bgp show ip neighbors on DUT0 and check whether the output matches the following regular expressions:
BGP state = Established Status: Up BFD: Type: single hopShow output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 10, external link Local Role: undefined Remote Role: undefined Hostname: osdx 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) 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: not advertised not received 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: Graceful Restart Capability: advertised and received Remote Restart timer is 120 seconds Peer has restarted (R-bit is set) Peer has restarted (N-bit is set) 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 2 Notifications: 2 0 Updates: 1 3 Keepalives: 1 1 Route Refresh: 1 2 Capability: 0 0 Total: 7 8 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 Update delay timer is 0 seconds (remaining: 0) For address family: IPv4 Unicast Update group 1, subgroup 1 Packet Queue length 0 Community attribute sent to this neighbor(all) Inbound path policy configured Route map for incoming advertisements is *PERMIT Outbound updates discarded due to missing policy 1 accepted, 0 sent prefixes Connections established 1; dropped 0 Last reset 00:00:02, Cease: connection collision (n/a) Message received that caused BGP to send a NOTIFICATION: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00610104 0014005A 0A0A00C8 44020601 04000100 01020202 00020246 00020641 04000000 14020645 04000101 0102074C 05000101 00000208 4906046F 73647800 02044002 C0780209 47070001 01800000 00 External BGP neighbor may be up to 1 hops away. Local host: 10.10.0.100, Local port: 179 Foreign host: 10.10.0.200, Foreign port: 58326 Nexthop: 10.10.0.100 Nexthop global: :: Nexthop local: :: BGP connection: shared network BGP Connect Retry Timer in Seconds: 30 Estimated round trip time: 0 ms BFD Hold Time (interval 30) timer expires in 0 seconds Read thread: on Write thread: on FD used: 30 BFD: Type: single hop Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300 Profile: BFD_MARK Status: Up, Last update: 0:00:00:00
Step 4: Run the command protocols bfd show peers on DUT0 and check whether the output matches the following regular expressions:
Status: up Mark: 99Show output
BFD Peers: peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0 ID: 742812252 Remote ID: 2131897606 Active mode Mark: 99 Status: up Uptime: 0 second(s) Diagnostics: ok Remote diagnostics: ok Peer Type: dynamic RTT min/avg/max: 0/0/0 usec Profile: BFD_MARK Local timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Transmission interval (actual with jitter): 234ms Detection timeout: 900ms Echo receive interval: disabled Echo transmission interval: disabled Remote timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Echo receive interval: disabled
Step 5: Run the command protocols bgp show ip on DUT0 and check whether the 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 10 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 *> 1.1.1.0/24 10.10.0.200 0 0 20 ? Displayed 1 routes and 1 total paths
Step 6: Ping the IP address 1.1.1.1 from DUT0:
admin@DUT0$ ping 1.1.1.1 count 1 size 56 timeout 1Show output
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data. 64 bytes from 1.1.1.1: icmp_seq=1 ttl=64 time=0.179 ms --- 1.1.1.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.179/0.179/0.179/0.000 ms
Test BFD Mark Dynamic Change
Description
Test that changing the mark value in the BFD profile updates the BFD session dynamically without tearing it down. The mark is changed from 99 to 50 and back to 99, verifying that show peers reflects each change.
Scenario
Step 1: 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 bfd profile BFD_MARK mark 99 set protocols bgp 20 neighbor peer bfd profile BFD_MARK set protocols bgp 20 neighbor peer remote-address 10.10.0.100 set protocols bgp 20 neighbor peer remote-as 10 set protocols bgp 20 neighbor peer route-map export PERMIT set protocols bgp 20 redistribute connected route-map REDIS set protocols logging bgp bfd set protocols logging bgp neighbor-events set protocols logging level debugging set protocols route-map PERMIT rule 1 action permit set protocols route-map REDIS rule 1 action permit set protocols route-map REDIS rule 1 match interface dum0 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.10.0.100/24 set protocols bfd profile BFD_MARK mark 99 set protocols bgp 10 neighbor peer bfd profile BFD_MARK set protocols bgp 10 neighbor peer remote-address 10.10.0.200 set protocols bgp 10 neighbor peer remote-as 20 set protocols bgp 10 neighbor peer route-map import PERMIT set protocols logging bgp bfd set protocols logging bgp neighbor-events set protocols logging level debugging set protocols route-map PERMIT rule 1 action permit set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 3: Run the command protocols bgp show ip neighbors on DUT0 and check whether the output matches the following regular expressions:
BGP state = Established Status: Up BFD: Type: single hopShow output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 10, external link Local Role: undefined Remote Role: undefined Hostname: osdx BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100 BGP state = Established, up for 00:00:03 Last read 00:00:02, Last write 00:00:02 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: not advertised not received 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: Graceful Restart Capability: advertised and received Remote Restart timer is 120 seconds Peer has restarted (R-bit is set) Peer has restarted (N-bit is set) 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: 1 0 Updates: 1 3 Keepalives: 1 1 Route Refresh: 1 2 Capability: 0 0 Total: 6 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 Update delay timer is 0 seconds (remaining: 0) For address family: IPv4 Unicast Update group 1, subgroup 1 Packet Queue length 0 Community attribute sent to this neighbor(all) Inbound path policy configured Route map for incoming advertisements is *PERMIT Outbound updates discarded due to missing policy 1 accepted, 0 sent prefixes Connections established 1; dropped 0 Last reset 00:00:03, Cease: connection collision (n/a) External BGP neighbor may be up to 1 hops away. Local host: 10.10.0.100, Local port: 179 Foreign host: 10.10.0.200, Foreign port: 54940 Nexthop: 10.10.0.100 Nexthop global: :: Nexthop local: :: BGP connection: shared network BGP Connect Retry Timer in Seconds: 30 Estimated round trip time: 0 ms BFD Hold Time (interval 30) timer expires in 0 seconds Read thread: on Write thread: on FD used: 30 BFD: Type: single hop Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300 Profile: BFD_MARK Status: Up, Last update: 0:00:00:02
Step 4: Run the command protocols bfd show peers on DUT0 and check whether the output matches the following regular expressions:
Status: up Mark: 99Show output
BFD Peers: peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0 ID: 862551818 Remote ID: 2806902575 Active mode Mark: 99 Status: up Uptime: 2 second(s) Diagnostics: ok Remote diagnostics: ok Peer Type: dynamic RTT min/avg/max: 0/0/0 usec Profile: BFD_MARK Local timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Transmission interval (actual with jitter): 252ms Detection timeout: 900ms Echo receive interval: disabled Echo transmission interval: disabled Remote timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Echo receive interval: disabled
Step 5: Modify the following configuration lines in DUT0 :
set protocols bfd profile BFD_MARK mark 50
Step 6: Run the command protocols bfd show peers on DUT0 and check whether the output matches the following regular expressions:
Mark: 50Show output
BFD Peers: peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0 ID: 862551818 Remote ID: 2806902575 Active mode Mark: 50 Status: up Uptime: 2 second(s) Diagnostics: ok Remote diagnostics: ok Peer Type: dynamic RTT min/avg/max: 0/0/0 usec Profile: BFD_MARK Local timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Transmission interval (actual with jitter): 261ms Detection timeout: 900ms Echo receive interval: disabled Echo transmission interval: disabled Remote timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Echo receive interval: disabled
Step 7: Modify the following configuration lines in DUT0 :
set protocols bfd profile BFD_MARK mark 99
Step 8: Run the command protocols bfd show peers on DUT0 and check whether the output matches the following regular expressions:
Status: up Mark: 99Show output
BFD Peers: peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0 ID: 862551818 Remote ID: 2806902575 Active mode Mark: 99 Status: up Uptime: 3 second(s) Diagnostics: ok Remote diagnostics: ok Peer Type: dynamic RTT min/avg/max: 0/0/0 usec Profile: BFD_MARK Local timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Transmission interval (actual with jitter): 285ms Detection timeout: 900ms Echo receive interval: disabled Echo transmission interval: disabled Remote timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Echo receive interval: disabled
Step 9: Run the command protocols bgp show ip neighbors on DUT0 and check whether the output matches the following regular expressions:
BGP state = Established Status: Up BFD: Type: single hopShow output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 10, external link Local Role: undefined Remote Role: undefined Hostname: osdx BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100 BGP state = Established, up for 00:00:04 Last read 00:00:03, Last write 00:00:03 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: not advertised not received 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: Graceful Restart Capability: advertised and received Remote Restart timer is 120 seconds Peer has restarted (R-bit is set) Peer has restarted (N-bit is set) 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: 1 0 Updates: 1 3 Keepalives: 1 1 Route Refresh: 1 2 Capability: 0 0 Total: 6 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 Update delay timer is 0 seconds (remaining: 0) For address family: IPv4 Unicast Update group 1, subgroup 1 Packet Queue length 0 Community attribute sent to this neighbor(all) Inbound path policy configured Route map for incoming advertisements is *PERMIT Outbound updates discarded due to missing policy 1 accepted, 0 sent prefixes Connections established 1; dropped 0 Last reset 00:00:04, Cease: connection collision (n/a) External BGP neighbor may be up to 1 hops away. Local host: 10.10.0.100, Local port: 179 Foreign host: 10.10.0.200, Foreign port: 54940 Nexthop: 10.10.0.100 Nexthop global: :: Nexthop local: :: BGP connection: shared network BGP Connect Retry Timer in Seconds: 30 Estimated round trip time: 0 ms BFD Hold Time (interval 30) timer expires in 0 seconds Read thread: on Write thread: on FD used: 30 BFD: Type: single hop Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300 Profile: BFD_MARK Status: Up, Last update: 0:00:00:03
Test BFD Mark Controls Session
Description
Test that the BFD mark controls session state. A traffic policy is configured to drop BFD packets that do not carry mark 99 and to log packets that do. With mark 99, BFD stays up and marked packets appear in the system journal. Changing to mark 50 causes BFD to go down. Restoring mark 99 brings BFD back up.
Scenario
Step 1: 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 bfd profile BFD_MARK mark 99 set protocols bgp 20 neighbor peer bfd profile BFD_MARK set protocols bgp 20 neighbor peer remote-address 10.10.0.100 set protocols bgp 20 neighbor peer remote-as 10 set protocols bgp 20 neighbor peer route-map export PERMIT set protocols bgp 20 redistribute connected route-map REDIS set protocols logging bgp bfd set protocols logging bgp neighbor-events set protocols logging level debugging set protocols route-map PERMIT rule 1 action permit set protocols route-map REDIS rule 1 action permit set protocols route-map REDIS rule 1 match interface dum0 set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 2: Set the following configuration in DUT0 :
set interfaces ethernet eth0 address 10.10.0.100/24 set protocols bfd profile BFD_MARK mark 99 set protocols bgp 10 neighbor peer bfd profile BFD_MARK set protocols bgp 10 neighbor peer remote-address 10.10.0.200 set protocols bgp 10 neighbor peer remote-as 20 set protocols bgp 10 neighbor peer route-map import PERMIT set protocols logging bgp bfd set protocols logging bgp neighbor-events set protocols logging level debugging set protocols route-map PERMIT rule 1 action permit set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'
Step 3: Run the command protocols bgp show ip neighbors on DUT0 and check whether the output matches the following regular expressions:
BGP state = Established Status: Up BFD: Type: single hopShow output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 10, external link Local Role: undefined Remote Role: undefined Hostname: osdx BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100 BGP state = Established, up for 00:00:04 Last read 00:00:03, Last write 00:00:03 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: not advertised not received 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: Graceful Restart Capability: advertised and received Remote Restart timer is 120 seconds Peer has restarted (R-bit is set) Peer has restarted (N-bit is set) 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 2 Notifications: 2 0 Updates: 1 3 Keepalives: 1 1 Route Refresh: 1 2 Capability: 0 0 Total: 7 8 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 Update delay timer is 0 seconds (remaining: 0) For address family: IPv4 Unicast Update group 1, subgroup 1 Packet Queue length 0 Community attribute sent to this neighbor(all) Inbound path policy configured Route map for incoming advertisements is *PERMIT Outbound updates discarded due to missing policy 1 accepted, 0 sent prefixes Connections established 1; dropped 0 Last reset 00:00:04, Cease: connection collision (n/a) Message received that caused BGP to send a NOTIFICATION: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00610104 0014005A 0A0A00C8 44020601 04000100 01020202 00020246 00020641 04000000 14020645 04000101 0102074C 05000101 00000208 4906046F 73647800 02044002 C0780209 47070001 01800000 00 External BGP neighbor may be up to 1 hops away. Local host: 10.10.0.100, Local port: 179 Foreign host: 10.10.0.200, Foreign port: 49220 Nexthop: 10.10.0.100 Nexthop global: :: Nexthop local: :: BGP connection: shared network BGP Connect Retry Timer in Seconds: 30 Estimated round trip time: 0 ms BFD Hold Time (interval 30) timer expires in 0 seconds Read thread: on Write thread: on FD used: 30 BFD: Type: single hop Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300 Profile: BFD_MARK Status: Up, Last update: 0:00:00:01
Step 4: Run the command system journal clear on DUT0 and expect the following output:
Show output
Vacuuming done, freed 0B of archived journals from /run/log/journal. Vacuuming done, freed 0B of archived journals from /var/log/journal. Deleted archived journal /run/log/journal/d1b141b298644f3ea5560bad25bf4943/system@0e6ef7db680445528f4f2843eca04470-000000000000bf7f-0006522cb01d1b78.journal (64.0K). Deleted archived journal /run/log/journal/d1b141b298644f3ea5560bad25bf4943/system@0e6ef7db680445528f4f2843eca04470-000000000000bf82-0006522cb0215ee7.journal (196.0K). Vacuuming done, freed 260.0K of archived journals from /run/log/journal/d1b141b298644f3ea5560bad25bf4943.
Step 5: Modify the following configuration lines in DUT0 :
set interfaces ethernet eth0 traffic policy out DROP_BFD_UNMARKED set traffic policy DROP_BFD_UNMARKED rule 1 action drop set traffic policy DROP_BFD_UNMARKED rule 1 selector BFD_NO_MARK set traffic policy DROP_BFD_UNMARKED rule 2 log prefix BFD_MARKED set traffic policy DROP_BFD_UNMARKED rule 2 selector BFD_LOG set traffic selector BFD_LOG rule 1 destination port 3784 set traffic selector BFD_LOG rule 1 mark 99 set traffic selector BFD_LOG rule 1 protocol udp set traffic selector BFD_NO_MARK rule 1 destination port 3784 set traffic selector BFD_NO_MARK rule 1 not mark 99 set traffic selector BFD_NO_MARK rule 1 protocol udp
Step 6: Run the command protocols bgp show ip neighbors on DUT0 and check whether the output matches the following regular expressions:
BGP state = Established Status: Up BFD: Type: single hopShow output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 10, external link Local Role: undefined Remote Role: undefined Hostname: osdx BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100 BGP state = Established, up for 00:00:06 Last read 00:00:05, Last write 00:00:05 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: not advertised not received 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: Graceful Restart Capability: advertised and received Remote Restart timer is 120 seconds Peer has restarted (R-bit is set) Peer has restarted (N-bit is set) 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 2 Notifications: 2 0 Updates: 1 3 Keepalives: 1 1 Route Refresh: 1 2 Capability: 0 0 Total: 7 8 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 Update delay timer is 0 seconds (remaining: 0) For address family: IPv4 Unicast Update group 1, subgroup 1 Packet Queue length 0 Community attribute sent to this neighbor(all) Inbound path policy configured Route map for incoming advertisements is *PERMIT Outbound updates discarded due to missing policy 1 accepted, 0 sent prefixes Connections established 1; dropped 0 Last reset 00:00:06, Cease: connection collision (n/a) Message received that caused BGP to send a NOTIFICATION: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00610104 0014005A 0A0A00C8 44020601 04000100 01020202 00020246 00020641 04000000 14020645 04000101 0102074C 05000101 00000208 4906046F 73647800 02044002 C0780209 47070001 01800000 00 External BGP neighbor may be up to 1 hops away. Local host: 10.10.0.100, Local port: 179 Foreign host: 10.10.0.200, Foreign port: 49220 Nexthop: 10.10.0.100 Nexthop global: :: Nexthop local: :: BGP connection: shared network BGP Connect Retry Timer in Seconds: 30 Estimated round trip time: 0 ms BFD Hold Time (interval 30) timer expires in 0 seconds Read thread: on Write thread: on FD used: 30 BFD: Type: single hop Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300 Profile: BFD_MARK Status: Up, Last update: 0:00:00:03
Step 7: Run the command system journal show | tail on DUT0 and check whether the output contains the following tokens:
[BFD_MARKED-2] ACCEPTShow output
May 19 14:42:37.023580 osdx OSDxCLI[289500]: User 'admin' added a new cfg line: 'set interfaces ethernet eth0 traffic policy out DROP_BFD_UNMARKED'. May 19 14:42:37.098834 osdx OSDxCLI[289500]: User 'admin' added a new cfg line: 'show changes'. May 19 14:42:37.159405 osdx ubnt-cfgd[329554]: inactive May 19 14:42:37.228804 osdx INFO[329590]: FRR daemons did not change May 19 14:42:37.458155 osdx kernel: [BFD_MARKED-2] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x00 PREC=0xC0 TTL=255 ID=60536 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32 MARK=0x63 May 19 14:42:37.486229 osdx cfgd[1918]: [289500]Completed change to active configuration May 19 14:42:37.506481 osdx OSDxCLI[289500]: User 'admin' committed the configuration. May 19 14:42:37.530844 osdx OSDxCLI[289500]: User 'admin' left the configuration menu. May 19 14:42:37.689256 osdx OSDxCLI[289500]: User 'admin' executed a new command: 'protocols bgp show ip neighbors'. May 19 14:42:37.758126 osdx kernel: [BFD_MARKED-2] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x00 PREC=0xC0 TTL=255 ID=60581 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32 MARK=0x63
Step 8: Modify the following configuration lines in DUT0 :
set protocols bfd profile BFD_MARK mark 50
Step 9: Run the command protocols bfd show peers on DUT0 and check whether the output matches the following regular expressions:
Status: (down|init|shutdown)Show output
BFD Peers: peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0 ID: 1287459230 Remote ID: 1299661709 Active mode Mark: 50 Status: init Diagnostics: control detection time expired Remote diagnostics: control detection time expired Peer Type: dynamic RTT min/avg/max: 0/0/0 usec Profile: BFD_MARK Local timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Transmission interval (actual with jitter): 990ms Detection timeout: 3000ms Echo receive interval: disabled Echo transmission interval: disabled Remote timers: Detect-multiplier: 3 Receive interval: 1000ms Transmission interval: 1000ms Echo receive interval: disabled
Step 10: Modify the following configuration lines in DUT0 :
set protocols bfd profile BFD_MARK mark 99
Step 11: Run the command protocols bfd show peers on DUT0 and check whether the output matches the following regular expressions:
Status: up Mark: 99Show output
BFD Peers: peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0 ID: 1287459230 Remote ID: 1299661709 Active mode Mark: 99 Status: up Uptime: 2 second(s) Diagnostics: ok Remote diagnostics: ok Peer Type: dynamic RTT min/avg/max: 0/0/0 usec Profile: BFD_MARK Local timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Transmission interval (actual with jitter): 276ms Detection timeout: 900ms Echo receive interval: disabled Echo transmission interval: disabled Remote timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Echo receive interval: disabled
Step 12: Run the command protocols bgp show ip on DUT0 and check whether the output matches the following regular expressions:
1.1.1.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 10 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 *> 1.1.1.0/24 10.10.0.200 0 0 20 ? Displayed 1 routes and 1 total paths
Step 13: Ping the IP address 1.1.1.1 from DUT0:
admin@DUT0$ ping 1.1.1.1 count 1 size 56 timeout 1Show output
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data. 64 bytes from 1.1.1.1: icmp_seq=1 ttl=64 time=0.182 ms --- 1.1.1.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.182/0.182/0.182/0.000 ms