Git Product home page Git Product logo

mrtparse's Introduction

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 [email protected]
Yoshiyuki YAMAUCHI [email protected]
Nobuhiro ITOU [email protected]

License

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

mrtparse's People

Contributors

t2mune avatar yoshiyukiyamauchi avatar nob1979 avatar raabf avatar ahuangfeng avatar andre-luiz-dos-santos avatar pierky avatar vincentbernat avatar andydavidson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.