Skip to main content

MRT format data parser

Project description

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) 2020 Tetsumune KISO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mrtparse-2.0.1.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

mrtparse-2.0.1-py2.py3-none-any.whl (19.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file mrtparse-2.0.1.tar.gz.

File metadata

  • Download URL: mrtparse-2.0.1.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for mrtparse-2.0.1.tar.gz
Algorithm Hash digest
SHA256 bc07e6daca69fb1b4b66e7e3809b6921daf6291b635fc273cfb4393542bf6071
MD5 c1ed2504cd89b72b492b41864227ead6
BLAKE2b-256 ebc56d46da5ba5c5d5a4890289d0228c06c13aedf07c04f9441b630ff0d0bf5c

See more details on using hashes here.

File details

Details for the file mrtparse-2.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: mrtparse-2.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for mrtparse-2.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 575ac5b5b5b01acc8b4151aedfb75bf7ecc2401022b2c7a774dd05f3408fdbc3
MD5 89a17c88e178dbf4a37e52450e4f2a92
BLAKE2b-256 965eef919c0e99bc7e4651bf7f35b371953341fa9de606d22f084f72b1196bd0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page