BFD process-interface-status and process-pst are applicable only for single-hop BFD. Let’s assume that we have two routers directly connected through interface GE1/0/0.
process-interface-status
By associating BFD session status with interface status we can trigger fast route convergence. We can use this function only for BFD session that uses a default multicast IP address to detect the single-hop link. We can use association between BFD session status and interface status in the case, when transport devices exist on the link between the routers. As the actual physical path is segmented by transport devices, the routers on both ends need a long time to detect a fault that occurred on the link. The change of BFD status affects the protocol status of the interface and thus fast convergence is triggered. When the BFD session becomes DOWN, the correspondence interface status also goes to BFD_DOWN state, causing that this direct route is deleted from the routing table but the router can still forward BFD packets.
[Labnario] bfd [Labnario-bfd] quit [Labnario] bfd test bind peer-ip default-ip interface gigabitethernet 1/0/0 [Labnario-bfd-session-test] discriminator local 1 [Labnario-bfd-session-test] discriminator remote 2 [Labnario-bfd-session-test] process-interface-status [Labnario-bfd-session-test] commit
Remember that BFD should be configured symmetrically on both ends of the link.
[Labnario] display bfd session all verbose -------------------------------------------------------------------------------- Session MIndex : 16384 (One Hop) State : Up Name : test -------------------------------------------------------------------------------- Local Discriminator :1 Remote Discriminator :2 Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(GigabitEthernet1/0/0) Bind Session Type : Static Bind Peer Ip Address : 224.0.0.184 NextHop Ip Address : 224.0.0.184 Bind Interface : GigabitEthernet1/0/0 FSM Board Id : 3 TOS-EXP : 7 Min Tx Interval (ms) : 10 Min Rx Interval (ms) : 10 Actual Tx Interval (ms) : 10 Actual Rx Interval (ms) : 10 Local Detect Multi : 3 Detect Interval (ms) : 30 Echo Passive : Disable Acl Number : -- Destination Port : 3784 TTL :255 Proc interface status : Enable Process PST : Disable WTR Interval (ms) : 300000 Active Multi : 3 Last Local Diagnostic : No Diagnostic Bind Application :IFNET Session TX TmrID : -- Session Detect TmrID : -- Session Init TmrID : -- Session WTR TmrID : -- PDT Index : FSM-5000000|RCV-0|IF-0|TOKEN-0 Session Description : -- -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0
Look what will happen if we shutdown interface GE1/0/0:
[Labnario] display bfd session all verbose -------------------------------------------------------------------------------- Session MIndex : 16384 (One Hop) State : Down Name : test -------------------------------------------------------------------------------- Local Discriminator :1 Remote Discriminator :2 Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(GigabitEthernet1/0/0) Bind Session Type : Static Bind Peer Ip Address : 224.0.0.184 NextHop Ip Address : 224.0.0.184 Bind Interface : GigabitEthernet1/0/0 FSM Board Id : 3 TOS-EXP : 7 Min Tx Interval (ms) : 10 Min Rx Interval (ms) : 10 Actual Tx Interval (ms) : 10 Actual Rx Interval (ms) : 10 Local Detect Multi : 3 Detect Interval (ms) : 30 Echo Passive : Disable Acl Number : -- Destination Port : 3784 TTL :255 Proc interface status : Enable Process PST : Disable WTR Interval (ms) : 300000 Active Multi : 3 Last Local Diagnostic : No Diagnostic Bind Application :IFNET Session TX TmrID : -- Session Detect TmrID : -- Session Init TmrID : -- Session WTR TmrID : -- PDT Index : FSM-5000000|RCV-0|IF-0|TOKEN-0 Session Description : -- -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0
Display interface command shows that line protocol state for GE1/0/0 is “BFD status down”:
[Labnario] display interface gigabitethernet 1/0/0 GigabitEthernet1/0/0 current state : UP Line protocol current state : UP(BFD status down)
You can also associate BFD status with subinterface status by adding the following command:
process-interface-status sub-if
process-pst
As it was mentioned earlier in this post process-pst function is only applicable to single-hop BFD session. BFD can modify Port State Table (PST) when it detects that interface has a fault. It detects that interface is DOWN and modifies the corresponding entry in the PST. Through the PST, upper application protocols can know the BFD detection result. LDP FRR and IP FRR are examples of such protocols that need to know the BFD detection result through PST.
Use the following command in BFD view to permit PST to be modified:
process-pst [Labnario] display bfd session all verbose -------------------------------------------------------------------------------- Session MIndex : 16384 (One Hop) State : Up Name : test -------------------------------------------------------------------------------- Local Discriminator :1 Remote Discriminator :2 Session Detect Mode : Asynchronous Mode Without Echo Function BFD Bind Type : Interface(GigabitEthernet1/0/0) Bind Session Type : Static Bind Peer Ip Address : 224.0.0.184 NextHop Ip Address : 224.0.0.184 Bind Interface : GigabitEthernet1/0/0 FSM Board Id : 3 TOS-EXP : 7 Min Tx Interval (ms) : 10 Min Rx Interval (ms) : 10 Actual Tx Interval (ms) : 10 Actual Rx Interval (ms) : 10 Local Detect Multi : 3 Detect Interval (ms) : 30 Echo Passive : Disable Acl Number : -- Destination Port : 3784 TTL :255 Proc interface status : Disable Process PST : Enable WTR Interval (ms) : 300000 Active Multi : 3 Last Local Diagnostic : No Diagnostic Bind Application :IFNET Session TX TmrID : -- Session Detect TmrID : -- Session Init TmrID : -- Session WTR TmrID : -- PDT Index : FSM-5000000|RCV-0|IF-0|TOKEN-0 Session Description : -- -------------------------------------------------------------------------------- Total UP/DOWN Session Number : 1/0