Bfd Tos

Scenario to verify BFD ToS (Type of Service) functionality with BGP. BFD profile tos allows setting the IP ToS field on BFD packets. By default BFD uses CS6 (0xC0). These tests verify that the ToS is applied correctly, can be changed dynamically, and is visible in the actual packets via system journal.

Test BFD Profile ToS

Description

Test that BFD profile tos is applied correctly. Configures a BFD profile with tos 48 on both routers and verifies that BGP establishes, BFD is up with the correct ToS 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_TOS tos 48
set protocols bgp 20 neighbor peer bfd profile BFD_TOS
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_TOS tos 48
set protocols bgp 10 neighbor peer bfd profile BFD_TOS
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 command protocols bgp show ip neighbors at DUT0 and check if output matches the following regular expressions:

BGP state = Established
Status: Up
BFD: Type: single hop
Show 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:
        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

 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 never
  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: 38034
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: 26

  BFD: Type: single hop
  Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300
  Status: Up, Last update: 0:00:00:01

Step 4: Run command protocols bfd show peers at DUT0 and check if output matches the following regular expressions:

Status: up
ToS: 48
Show output
BFD Peers:
        peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0
                ID: 1895072798
                Remote ID: 1855968188
                Active mode
                ToS: 48
                Status: up
                Uptime: 1 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: dynamic
                RTT min/avg/max: 0/0/0 usec
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        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 command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:

1.1.1.0/24
Show 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 IP address 1.1.1.1 from DUT0:

admin@DUT0$ ping 1.1.1.1 count 1 size 56 timeout 1
Show 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.377 ms

--- 1.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.377/0.377/0.377/0.000 ms

Test BFD ToS Dynamic Change

Description

Test that changing the tos value in the BFD profile updates the BFD session dynamically without tearing it down. The tos is changed from 48 to 184 and back to 48, 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_TOS tos 48
set protocols bgp 20 neighbor peer bfd profile BFD_TOS
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_TOS tos 48
set protocols bgp 10 neighbor peer bfd profile BFD_TOS
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 command protocols bgp show ip neighbors at DUT0 and check if output matches the following regular expressions:

BGP state = Established
Status: Up
BFD: Type: single hop
Show 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:
        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:                  1          1
    Notifications:          0          0
    Updates:                1          3
    Keepalives:             1          1
    Route Refresh:          1          2
    Capability:             0          0
    Total:                  4          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
  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 never
  External BGP neighbor may be up to 1 hops away.
Local host: 10.10.0.100, Local port: 54812
Foreign host: 10.10.0.200, Foreign port: 179
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: 25

  BFD: Type: single hop
  Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300
  Status: Up, Last update: 0:00:00:01

Step 4: Run command protocols bfd show peers at DUT0 and check if output matches the following regular expressions:

Status: up
ToS: 48
Show output
BFD Peers:
        peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0
                ID: 298871518
                Remote ID: 346017612
                Active mode
                ToS: 48
                Status: up
                Uptime: 2 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: dynamic
                RTT min/avg/max: 0/0/0 usec
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        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_TOS tos 184

Step 6: Run command protocols bfd show peers at DUT0 and check if output matches the following regular expressions:

ToS: 184
Show output
BFD Peers:
        peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0
                ID: 298871518
                Remote ID: 346017612
                Active mode
                ToS: 184
                Status: up
                Uptime: 2 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: dynamic
                RTT min/avg/max: 0/0/0 usec
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        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_TOS tos 48

Step 8: Run command protocols bfd show peers at DUT0 and check if output matches the following regular expressions:

Status: up
ToS: 48
Show output
BFD Peers:
        peer 10.10.0.200 local-address 10.10.0.100 vrf default interface eth0
                ID: 298871518
                Remote ID: 346017612
                Active mode
                ToS: 48
                Status: up
                Uptime: 3 second(s)
                Diagnostics: ok
                Remote diagnostics: ok
                Peer Type: dynamic
                RTT min/avg/max: 0/0/0 usec
                Local timers:
                        Detect-multiplier: 3
                        Receive interval: 300ms
                        Transmission interval: 300ms
                        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 command protocols bgp show ip neighbors at DUT0 and check if output matches the following regular expressions:

BGP state = Established
Status: Up
BFD: Type: single hop
Show 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:
        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:                  1          1
    Notifications:          0          0
    Updates:                1          3
    Keepalives:             1          1
    Route Refresh:          1          2
    Capability:             0          0
    Total:                  4          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
  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 never
  External BGP neighbor may be up to 1 hops away.
Local host: 10.10.0.100, Local port: 54812
Foreign host: 10.10.0.200, Foreign port: 179
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: 25

  BFD: Type: single hop
  Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300
  Status: Up, Last update: 0:00:00:03

Test BFD ToS In Packets

Description

Test that the configured ToS value is present in actual BFD packets. A traffic policy with log is configured to capture BFD packets. The test verifies that the ToS value in the journal changes when the profile is updated.

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_TOS tos 48
set protocols bgp 20 neighbor peer bfd profile BFD_TOS
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_TOS tos 48
set protocols bgp 10 neighbor peer bfd profile BFD_TOS
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 command protocols bgp show ip neighbors at DUT0 and check if output matches the following regular expressions:

BGP state = Established
Status: Up
BFD: Type: single hop
Show 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:
        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

 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 never
  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: 42314
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: 26

  BFD: Type: single hop
  Detect Multiplier: 3, Min Rx interval: 300, Min Tx interval: 300
  Status: Up, Last update: 0:00:00:01

Step 4: Run command system journal clear at DUT0 and expect this 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/a3fecc5be5e949c7a083b0adeea4bb21/system@d7e300002d97421d9dea8194454ddaa3-0000000000014d2d-00064f980320f11a.journal (196.0K).
Vacuuming done, freed 196.0K of archived journals from /run/log/journal/a3fecc5be5e949c7a083b0adeea4bb21.

Step 5: Modify the following configuration lines in DUT0 :

set interfaces ethernet eth0 traffic policy out LOG_BFD
set traffic policy LOG_BFD rule 1 log prefix BFD_TOS
set traffic policy LOG_BFD rule 1 selector BFD_PKT
set traffic selector BFD_PKT rule 1 destination port 3784
set traffic selector BFD_PKT rule 1 protocol udp

Step 6: Run command system journal show | tail at DUT0 and check if output contains the following tokens:

[BFD_TOS-1] ACCEPT
Show output
Apr 16 18:29:33.842645 osdx OSDxCLI[415772]: User 'admin' added a new cfg line: 'set traffic policy LOG_BFD rule 1 log prefix BFD_TOS'.
Apr 16 18:29:34.019271 osdx OSDxCLI[415772]: User 'admin' added a new cfg line: 'set traffic policy LOG_BFD rule 1 selector BFD_PKT'.
Apr 16 18:29:34.162835 osdx OSDxCLI[415772]: User 'admin' added a new cfg line: 'set interfaces ethernet eth0 traffic policy out LOG_BFD'.
Apr 16 18:29:34.256529 osdx OSDxCLI[415772]: User 'admin' added a new cfg line: 'show changes'.
Apr 16 18:29:34.388740 osdx ubnt-cfgd[448910]: inactive
Apr 16 18:29:34.503432 osdx INFO[448935]: FRR daemons did not change
Apr 16 18:29:34.718314 osdx cfgd[1833]: [415772]Completed change to active configuration
Apr 16 18:29:34.728387 osdx OSDxCLI[415772]: User 'admin' committed the configuration.
Apr 16 18:29:34.785983 osdx OSDxCLI[415772]: User 'admin' left the configuration menu.
Apr 16 18:29:34.822613 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x10 PREC=0x20 TTL=255 ID=46164 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32

Step 7: Run command system journal show | tail at DUT0 and check if output contains the following tokens:

PREC=0x20
Show output
Apr 16 18:29:34.019271 osdx OSDxCLI[415772]: User 'admin' added a new cfg line: 'set traffic policy LOG_BFD rule 1 selector BFD_PKT'.
Apr 16 18:29:34.162835 osdx OSDxCLI[415772]: User 'admin' added a new cfg line: 'set interfaces ethernet eth0 traffic policy out LOG_BFD'.
Apr 16 18:29:34.256529 osdx OSDxCLI[415772]: User 'admin' added a new cfg line: 'show changes'.
Apr 16 18:29:34.388740 osdx ubnt-cfgd[448910]: inactive
Apr 16 18:29:34.503432 osdx INFO[448935]: FRR daemons did not change
Apr 16 18:29:34.718314 osdx cfgd[1833]: [415772]Completed change to active configuration
Apr 16 18:29:34.728387 osdx OSDxCLI[415772]: User 'admin' committed the configuration.
Apr 16 18:29:34.785983 osdx OSDxCLI[415772]: User 'admin' left the configuration menu.
Apr 16 18:29:34.822613 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x10 PREC=0x20 TTL=255 ID=46164 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:34.972211 osdx OSDxCLI[415772]: User 'admin' executed a new command: 'system journal show | tail'.

Step 8: Run command system journal clear at DUT0 and expect this output:

Show output
Vacuuming done, freed 0B of archived journals from /var/log/journal.
Deleted archived journal /run/log/journal/a3fecc5be5e949c7a083b0adeea4bb21/system@d7e300002d97421d9dea8194454ddaa3-0000000000014dec-00064f98038bd154.journal (84.0K).
Vacuuming done, freed 84.0K of archived journals from /run/log/journal/a3fecc5be5e949c7a083b0adeea4bb21.
Vacuuming done, freed 0B of archived journals from /run/log/journal.

Step 9: Modify the following configuration lines in DUT0 :

set protocols bfd profile BFD_TOS tos 184

Step 10: Run command system journal show | tail at DUT0 and check if output contains the following tokens:

[BFD_TOS-1] ACCEPT
Show output
Apr 16 18:29:35.854378 osdx OSDxCLI[415772]: User 'admin' left the configuration menu.
Apr 16 18:29:35.985946 osdx OSDxCLI[415772]: User 'admin' executed a new command: 'system journal show | tail'.
Apr 16 18:29:35.997422 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46314 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:36.273393 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46340 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:36.557401 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46370 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:36.837394 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46389 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.121389 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46410 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.377395 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46443 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.621413 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46464 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.849394 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46493 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32

Step 11: Run command system journal show | tail at DUT0 and check if output contains the following tokens:

PREC=0xA0
Show output
Apr 16 18:29:35.997422 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46314 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:36.273393 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46340 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:36.557401 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46370 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:36.837394 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46389 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.121389 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46410 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.377395 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46443 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.621413 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46464 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:37.849394 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46493 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32
Apr 16 18:29:38.075422 osdx OSDxCLI[415772]: User 'admin' executed a new command: 'system journal show | tail'.
Apr 16 18:29:38.125389 osdx kernel: [BFD_TOS-1] ACCEPT IN= OUT=eth0 SRC=10.10.0.100 DST=10.10.0.200 LEN=52 TOS=0x18 PREC=0xA0 TTL=255 ID=46534 DF PROTO=UDP SPT=49153 DPT=3784 LEN=32