rcc: Routing Configuration Checker

BGP Configuration Verifier

overview - background
correctness tests - summary of tests currently implemented
constraint verifier - verifies various correctness aspects of BGP configuration
configuration browser - browse config summaries at a high level
implementation status - implementation: planned features, schedule, etc.
software - download information
manual - installation and usage information
feedback - contact us: send us feature requests, etc.
papers and talks - papers, talks, and more work on routing at MIT
example output - example rcc output


We are building a tool called rcc (formerly known as RoLex) that will allow network operators to verify that their networks' router configurations satisfy high-level properties. rcc is still in the development phase, but we are actively seeking operator input to help us figure out what types of features, tools, etc., will be most useful to the operator community. Please help by sending us feature requests, etc.!

Download, setup instructions, usage examples, demonstrations, etc., can be found in the manual.

The state of the art for router configuration typically involves logging configuration changes and rolling back to a previous version when a problem arises. The lack of a formal reasoning framework means that router configuration is time-consuming and ad hoc. Network operators need tools based on systematic verification techniques to ensure that BGP's operational behavior is consistent with the intended behavior (i.e., that the network is operating ``correctly''). We are designing a verification tool based on a new reasoning framework that helps operators and protocol designers reason about high-level properties of routing protocols.

Currently, the verification tool has the following two components:

  1. Constraint verifier. Note: Most of the active development at this point is on this portion of the tool.
  2. Configuration browser.

rcc parses router configuration into a vendor-independent, intermediate format, represented as relational database tables.

Implementation Status

We have recently augmented the tool to analyze both Cisco and Juniper configurations.

New: Support for IGP. See the list of tests for more detail. We would like to eventually add support for other routing configuration languages and welcome assistance in doing so!

To-do list (planned features, etc.) (Updated 10/24/2005)


Please see the manual for download instructions.

Feedback: How you can help

The ultimate usefulness of this tool depends on feature requests, bug reports, complaints, etc., from the operator community. (Active operator involvement or access to selected configuration files, etc., might also speed the development process...hint, hint.)

We could really use operator help in any of the following ways:

You can provide feedback here, or you may contact bgp-config at the domain nms.lcs.mit.edu.

Papers, Talks, etc.

Please see the Routing Project Web page for a full list of papers.

Selected Talks

More information can be found here.