Skip to main content

mrtparse

Introduction

mrtparse is a module to read and analyze the MRT format data.
The MRT format can be used to export routing protocol messages, state changes, and routing information base contents, and is defined in RFC6396.
Programs like FRRouting, Quagga, Zebra, BIRD, OpenBGPD and PyRT can dump the MRT format data.
You can also download archives from the Route Views Projects, RIPE NCC.

Support

Python Version

If you want your code to run faster, you should use PyPy or PyPy3.

  • Python2

  • Python3

  • PyPy

  • PyPy3

MRT Type

Name

Value

TABLE_DUMP

12

TABLE_DUMP_V2

13

BGP4MP

16

BGP4MP_ET

17

TABLE_DUMP Subtype

Name

Value

AFI_IPv4

1

AFI_IPv6

2

TABLE_DUMP_V2 Subtype

Name

Value

PEER_INDEX_TABLE

1

RIB_IPV4_UNICAST

2

RIB_IPV4_MULTICAST

3

RIB_IPV6_UNICAST

4

RIB_IPV6_MULTICAST

5

RIB_GENERIC

6

RIB_IPV4_UNICAST_ADDPATH

8

RIB_IPV4_MULTICAST_ADDPATH

9

RIB_IPV6_UNICAST_ADDPATH

10

RIB_IPV6_MULTICAST_ADDPATH

11

RIB_GENERIC_ADDPATH

12

BGP4MP/BGP4MP_ET Subtype

Name

Value

BGP4MP_STATE_CHANGE

0

BGP4MP_MESSAGE

1

BGP4MP_MESSAGE_AS4

4

BGP4MP_STATE_CHANGE_AS4

5

BGP4MP_MESSAGE_LOCAL

6

BGP4MP_MESSAGE_AS4_LOCAL

7

BGP4MP_MESSAGE_ADDPATH

8

BGP4MP_MESSAGE_AS4_ADDPATH

9

BGP4MP_MESSAGE_LOCAL_ADDPATH

10

BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH

11

BGP Capability

Name

Value

Multiprotocol Extensions for BGP-4

1

Route Refresh Capability for BGP-4

2

Outbound Route Filtering Capability

3

Graceful Restart Capability

64

Support for 4-octet AS number capability

65

ADD-PATH Capability

69

BGP Attribute

Name

Value

ORIGIN

1

AS_PATH

2

NEXT_HOP

3

MULTI_EXIT_DISC

4

LOCAL_PREF

5

ATOMIC_AGGREGATE

6

AGGREGATOR

7

COMMUNITY

8

ORIGINATOR_ID

9

CLUSTER_LIST

10

MP_REACH_NLRI

14

MP_UNREACH_NLRI

15

EXTENDED COMMUNITIES

16

AS4_PATH

17

AS4_AGGREGATOR

18

AIGP

26

LARGE_COMMUNITY

32

ATTR_SET

128

Installation

$ pip install mrtparse

or

$ git clone https://github.com/t2mune/mrtparse.git
$ cd mrtparse
$ python setup.py install

Usage

First, import the module.

from mrtparse import *

or

import mrtparse
And pass a MRT format data as a filepath string or file object to a class Reader().
It is also supported gzip and bzip2 format.
You can retrieve each entry from the returned object using a loop and then process it.

for entry in Reader(f):
    # Parsed data is stored in "entry.data"
    <statements>

We have prepared some example scripts and sample data in “examples” and “samples” directory.

Authors

Tetsumune KISO t2mune@gmail.com
Yoshiyuki YAMAUCHI info@greenhippo.co.jp
Nobuhiro ITOU js333123@gmail.com

License

Licensed under the Apache License, Version 2.0
Copyright (C) 2022 Tetsumune KISO

Metadata

Release files for mrtparse 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mrtparse 2.2.0
File Size Uploaded
mrtparse-2.2.0.tar.gz 34.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mrtparse 2.2.0
File Interpreter ABI Platform
mrtparse-2.2.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 54.0 kB

Release files / mrtparse-2.2.0.tar.gz

Download URL mrtparse-2.2.0.tar.gz
Size 34.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8806e20f57dfbbcdc107a9838af9d5386dacdc6d43474bfedeeacd80eb3945d4
BLAKE2b-256 checksum
How to use checksums
7c062198d92180b3abd998b057621bb2843e2a596b550bb10adc649884142359
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release files / mrtparse-2.2.0-py2.py3-none-any.whl

Download URL mrtparse-2.2.0-py2.py3-none-any.whl
Size 19.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
1672a92950eafb8fb5f6b56fe4c4ce0ebae8ec87de7b1489df7780418c311ca7
BLAKE2b-256 checksum
How to use checksums
97b2e8035b3854081b707c56a7bf07240da3fc880c28464b1d67a77cbdf2db45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.10.4

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.8

2 release files

1.7

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page