BFD Features
Session Objectives At the end of the session, the participants should: Understand advantages of BFD implementation on S9700 Understand when to use BFD on S9700 1
Contents BFD introduction and protocol features BFD on S9700 snapshot BFD on S9700 software implementation details BFD on S9700 configuration Summary 2
Why BFD Lightweight hello protocol over different protocols IPv4, MPLS Used for fast (often sub-second) communication failure detection Single, common & standardized mechanism Independent of specific routing, VRRP and other client protocols dst UDP port 3784 & 4784 (4784 is used for multi-hop BFD) RFC 5880 So lots protocols could leverage this lightweight BFD to achieve fast hello without more CPU burden. SRU (Supervisor) OSPF VRRP PIM BGP IS-IS Etc. BFD 3
BFD Advantages Many protocols use same hellos-reduce control plane load No impact due to sup switchover, unless the route down ms-level fault detection performance Proprietary one-arm-echo BFD function can be used with device which does not support BFD Proprietary multicast BFD can be used to detect the L2 link and the specific member in a trunk, and bind the interface state. Associating with oam protocol, notifies the link faults Associating with the protocols running on the ring network 4
Contents BFD introduction and protocol features BFD on S9700 snapshot BFD on S9700 software implementation details BFD on S9700 configuration Summary 5
BFD on S9700: Snapshot Software support start: V200R001 Hardware support: All current and future I/O modules Centralized packet processing Master CPU transmit/receive BFD packets with OAM Chip, we could do hardware offload SRU-D has already integrated OAM FPGA, so no extra cost. MCU(S9703) is done by a process in CPU. BFD packets sent with TOS-EXP 6
S97 s BFD Modes brief Asynchronous mode Supported from S9700 Systems establish BFD session and periodically exchange control packets If some number of control packets missed (default is 3 ) session declared down One ARM Echo mode Huawei proprietary mode Worked with other devices does not support BFD Multicast BFD Huawei proprietary mode Could run at L2 links, no IP interface needs. 7
Async timer negotiate R1 My desc = foo Your desc = xxx Required Rx = 50ms Desired Tx = 100ms My desc = bar Your desc = foo Required Rx = 60ms Desired Tx = 40ms R2 Compare min- RX from peer vs self Desire TX, the slower win So send @ 100ms R1 My desc = foo Your desc = bar Required Rx = 50ms Desired Tx = 100ms Handshake Complete Session is UP Compare min-rx from peer vs self Desire TX, the slower win. So send @ 50ms R1 R2 8
BFD one-arm-mode Huawei proprietary Application scenario Connect with a 3 rd party device, which doesn t support BFDv1 3 rd Device Only BFD echo frames No control frames exchange sth. Fails Trigger hooked clients 9
Multicast BFD Huawei proprietary Application scenario Test a link if no IP address could be specified. Capture this mc-addr. Need avoid conflict. Capture this mc-addr. Need avoid conflict. L2 Link or unnumbered interface BFD control frames with multicast address Specify a dedicated 224.x.x.x mc-ip-address The MC address must be same in 2 devices. 10
S97 BFD software features (1) Static BFD Dynamic BFD Triggered by protocol, like: OSPF, BGP, IS-IS, MPLS LDP, RSVP- TE, PWE3 PIM. BFD for single hop & multi-hop BFD for supervisor s switch-over S97 s BFD session won t teardown when supervisor do a switchover. BFD for static route / OSPF / BGP / IS-IS BFD for PIM BFD for VRRP BFD for FRR (LDP FRR/ TE FRR /VPN FRR /VLL FRR) 11
S97 BFD software features (2) BFD over Ports L3 GE & 10GE ports VLAN-IF interface L3 dot1q interface L3 Eth-trunk Logical Single BFD session for whole trunk When BFD run over trunk, BFD packets are sent over some link members using hashing. L2 port Need Huawei proprietary multicast BFD. Eth-trunk Per-link Separate BFD sessions for each link in interface for resiliency Need Huawei proprietary multicast BFD session. 12
S97 BFD software features (3) BFD Interface support Static LSP LDP LSP MPLS TE VLL PW No detective for backup PW No support for PW over TE VPLS PW No support for PW over TE 13
BFD vs Per-Protocol Timers Per-Protocol Timers: Single interface may have 2-3+ protocols establishing adjacency E.g., VRRP, PIM, OSPF on each vlanif/subinterfacei Tuning down timers for every protocol increases inband and CPU utilization. This wastes CPU effort and link bandwidth Configuration complexity BFD: One BFD session can track link-state for all client protocol sessions between an IP node pair 14
Contents BFD introduction and protocol features BFD on S9700 snapshot BFD on S9700 software implementation details BFD on S9700 configuration Summary 15
BFD on S9700 Software Architecture Switching Route Unit OSPF RIP PIM BGP IS-IS Etc. BFD BFD Client Hardware Hardware Hardware I/O Module I/O Module I/O Module 16
Client Behavior OSPF Establish OSPF Adj OSPF 1 BFD 1 BFD 2 OSPF 2 Establish OSPF Adj OSPF FULL Register OSPF neighbor IP with BFD OSPF Registered BFD packets BFD notifies OSPF BFD packets OSPF FULL Register OSPF neighbor IP with BFD OSPF Registered Send OSPF Hellos Send OSPF Hellos Device Fails BFD notifies OSPF OSPF Adj removed OSPF de-registered De-register neighbor IP with BFD 17
Client Behavior PIM Send PIM Hellos PIM Adj Register neighbor IP with BFD PIM Registered Send PIM Hellos PIM 1 BFD 1 BFD 2 PIM 2 BFD packets BFD notifies PIM BFD packets Send PIM Hellos PIM Adj Register neighbor IP with BFD PIM Registered Send PIM Hellos Device Fails BFD notifies PIM PIM de-registered PIM Adj removed De-register neighbor IP with BFD 18
Client Behavior static routes static route 1 BFD 1 BFD 2 static route 2 Track static route with BFD Add a static BFD configuration Track static route with BFD BFD packets BFD packets Device Fails BFD notifies static route static route turn to inactive 19
Proprietary BFD: one-arm-echo (1) static route 1 BFD 1 Third-part device without BFD function Track static route with BFD BFD packets Add a static BFD configuration oneside only IP loop static route turn to inactive BFD notifies static route sth. Fails 20
One-arm-echo vs Echo Unlike standard echo mode. one-arm-echo only send echo BFD frames, no BFD control frame exchange. Be carefully, by default echo frames use self-interface-ip as src & dst ip, so you should disable some security check function along with the path. 21
BFD Interoperability Tested with: NE40E C7600 S9500 22
Contents BFD introduction and protocol features BFD on S9700 snapshot BFD on S9700 software implementation details BFD on S9700 configuration Summary 23
BFD Configuration (1) Pre-configuration Tasks Before configuring BFD, complete the following tasks: 1. Connecting each interface correctly 2. Configuring IP addresses for Layer 3 interfaces Data Preparation To configure BFD, you need the following data. 1. BFD configuration name 2. Peer IP address, local interface type and number for the directly-connected link detected by BFD, and default multicast address used by BFD if it checks the physical layer status of the link 3. BFD session parameters: local and remote discriminators 24
BFD Configuration (2) BFD min-tx-interval <10-1000> min-rx-interval < 10-1000 > multiplier <3-50> Global or per-interface control of BFD timers Interval frequency in msec at which to send BFD messages Multiplier: BFD declared down if no packet received within (interval*multiplier) msec Default is interval = 10 msec and multiplier = 3 failover detection in 30 msec 25
BFD Configuration (3) one arm echo config: bfd cfg-name bind peer-ip peer-ip [ vpn-instance vpn-instancename ] interface interface-type interface-number [ source-ip sourceip ] one-arm-echo Notice: 1) only in sing-hop BFD 2) Only need local discriminate. discriminator local discr-value. 3) min-echo-rx-interval interval could set the echo interval, default is 10ms. 26
BFD Configuration: other parameters WTR configured (default 0) [WTR is a timer to hold when BFD session state change from down to up.] Run: wtr wtr-value Set the priority of BFD packets (default 7, lowest priority 0) Run: tos-exp tos Configure the number of the default destination port for the multi-hop BFD control packet Run: multi-hop destination-port { 3784 4784 } 27
BFD Configuration Example 1 BFD for OSPF 1 Display the system view: Run: system-view 2 Display the OSPF view: Run: ospf process-id 3 Establish BFD sessions for OSPF: Run: bfd all-interfaces enable 4 Specify the value for each parameter used to establish a BFD session(optional): Run: bfd all-interfaces { min-rx-interval receive-interval min-tx-interval transmit-interval detect-multiplier multiplier-value } * 5 Check the information about the BFD session: Run: display ospf [process-id ] bfd session interface-type interfacenumber [ router-id ] or display ospf[process-id ] bfd session { router-id all } 28
BFD Configuration Example 2 BFD for PIM 1 Display the system view: Run: system-view 2 Display the interface view (Interface type must be VLANIF): Run: interface interface-type interface-number 3 PIM BFD is enabled : Run: pim bfd enable 4 PIM BFD parameters are adjusted. Run: pim bfd { min-tx-interval tx-value min-rx-interval rx-value detect-multiplier multiplier-value }* 5 check information about a PIM BFD session : Run: display pim [ vpn-instance vpn-instance-name all-instance ] bfd session statistics 29
BFD Configuration example 3 one-arm-bfd example src & dst ip is local interface IP address by default Also could change it by CLI: src IP= Loopback IP, dst IP = local interface IP Src-MAC = local interface MAC, dst-mac = peer s MAC 30
BFD Configuration example 4 Multicast BFD example bfd 1 bind peer-ip default-ip interface? Eth-Trunk Ethernet Ethernet-Trunk interface Ethernet interface GigabitEthernet GigabitEthernet interface When use MC-BFD @ Eth-trunk 1) Multi MC-BFD sessions for individual link 2) (Optional) Associate BFD with port status 3) (Optional) Set min-active link parameter in Eth-Trunk For example: A 4 links Eth-trunk. If 3 member links down, then teardown the eth-trunks. 31
BFD Monitoring CLI and XML available to obtain BFD information and status Run: <SwitchA> display bfd session all verbose BFD MIB Clear BFD statistics in the user view Run: reset bfd statistics { all discriminator discr-value } 32
BFD troubleshooting Make sure pre-configuration requirements are met. Make sure neighbor supports BFD except one-arm-echo scenario. Make sure neighbor supports running BFD over same type of interface (i.e trunk). Debugs Enable the debugging of the BFD module Run: debugging bfd { all defect-detect error event fsm ha packet process product-interface session-management timer } 33
Contents BFD introduction and protocol features BFD on S9700 snapshot BFD on S9700 software implementation details BFD on S9700 configuration Summary 34
Summary Top 5 things to remember Dedicated HW offload the CPU s BFD process burden Support both single hop & multi-hop mode Proprietary BFD one arm echo mode Worked with other 3 rd device, which don t support BFDv1 Proprietary multicast BFD Worked in L2 links BFD trigger interface status & BFD action 35
HUAWEI ENTERPRISE ICT SOLUTIONS A BETTER WAY Copyright 2012 Huawei Technologies Co., Ltd. All Rights Reserved. The information in this document may contain predictive statements including, without limitation, statements regarding the future financial and operating results, future product portfolio, new technology, etc. There are a number of factors that could cause actual results and developments to differ materially from those expressed or implied in the predictive statements. Therefore, such information is provided for reference purpose only and constitutes neither an offer nor an acceptance. Huawei may change the information at any time without notice.