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.
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 [email protected]
Yoshiyuki YAMAUCHI [email protected]
Nobuhiro ITOU [email protected]
License
Licensed under the Apache License, Version 2.0
Copyright (C) 2022 Tetsumune KISO