BGP Processes in the Cisco IOS

August 21, 2018 at 10:32 am

BGP

These are some notes that I used to help teach a recent module in my upcoming Border Gateway Protocol (BGP) – Cisco Routing Policy Mechanisms course at CBT Nuggets. Enjoy!

There are many processes that work together to provide BGP services in the Cisco IOS. To see those that are running on your IOS version (and hardware), run the following command:

show processes cpu | include BGP

There are four core processes you should definitely see:

  • I/O – this process is responsible for moving prefixes in and out of the appropriate InQ and OutQ mechanisms; this allows us to both send and receive prefix information
  • Router – this process is the workhorse of the BGP system and takes care of policy application and the BGP Best Path Decision Algorithm
  • Scanner – the scanner process defaults to one minute intervals of operation; you can change this with the bgp scan-time command under the BGP configuration; this process is scanning for changes that might require a revamp of the BGP information (an example would be a prefix removal due to next hop reachability issues)
  • Scheduler – this process is responsible for scheduling the various BGP processes that might be running

To see the Scanner process in action – you can use the command – debug ip bgp events

Remember, you might see other BGP related processes running on your system. Cisco is constantly working hard on their implementation to improve efficiency and reduce CPU workloads. For example, you might see:

  • BMP Server – this service permits the functionality of BGP Monitoring Protocol for neighborships
  • Event – this service helps the Scanner with its potential workload – it quickly responds to events like network statement introduction and redistribution commands
  • NHT – a next hop tracker process that, again, assists the Scanner service with its work
  • Open – you might get lucky and catch a glimpse of this process – it exists to assist with neighbor formation