MRT (Multithreaded Routing Toolkit)

The MRT Project is a monolithic multithreaded routing engine (MRTd) that was developed under a research grant at the University of Michigan. It contains multiprotocol IPv4/IPv6 routing daemons and accompanying analysis and simulation tools. The following list presents some useful details about the software:

  • Version? MRT 2.2.2a, a partnership between the University of Michigan and Merit Network

  • Architecture? Monolithic routing engine

  • Resources? http://www.mrtd.net

Feature Description of MRT

MRT supports BGP4/4+, RIPng, RIPv2, DVMRP, and PIM-DM. The tool uses Cisco IOS Software-like CLI syntax.

Installation of MRT

To get a working MRTd system, follow these steps:

  1. Download the binary rpm package for Linux. I was unable to compile it from source on Linux.

  2. Install on Linux via rpm -Uhv mrt-2.2.2a-1.386.rpm, on BSD systems via the ports tree or from sources (pkg_add mrtd-2.2.2a.tgz).

  3. Add the following entry to /etc/services:

    mrtd

    5674/tcp # MRT Routing Daemon


  4. Run mrtd -f /etc/mrtd.conf or via the start script /etc/rc.d/init.d/mrtd (-n for no modification of kernel routing table).

  5. You can direct log output to a file, which you define in the configuration file (insert debug all /var/log/mrtd.log).

  6. Configure via Telnet interface (type telnet 127.0.0.1 mrtd).

Maturity, Scalability, and Stability of MRT

Although it is no longer actively maintained, the MRT package is mature and scalable. It is used in some labs in combination with GateD and Zebra/Quagga.