Currently this forwards the openbmp.bmp_raw stream from Kafka to a remote collector using BMP. This can be extended support other types of forwarding.
The initial use-case for this consumer is to connect a Kafka cluster to a remote cluster using BMP as the transport protocol. You can also use this to connect legacy/other BMP collectors to OpenBMP.
It is possible to spoof the router address so that the receiving collector believes it is receiving messages from the router, but this only works on a single host. Spoofing will not work between hosts due to RPF checks. Spoofing is automatically enabled when the destination collector is localhost.
Forwarded messages are from the live feed. This means that if Kafka does not have a long enough log retention for the RIB dump, ROUTER_UP, PEER_UP messages, then those messages will not be available till the next time the source collector sends them.
- Add spoofing support for localhost
Forwarder enables secure access via a FW and/or NAT. This includes the ability to translate from IPv4 to IPv6 or IPv6 to IPv6.
You can either run the code within the git directory or you can install it in your python path.
If you are going to run it within the git directory, see running instructions.
sudo apt-get install python-dev python-pip libsnappy-dev
sudo pip install python-snappy
sudo pip install kafka-python
sudo pip install pyyaml
git clone https://github.com/OpenBMP/openbmp-python-api-message.git
cd openbmp-python-api-message
sudo python setup.py install
Installation of openbmp-python-api-message library is shown above.
See Kafka-python Install Instructions for more details.
git clone https://github.com/OpenBMP/openbmp-forwarder.git
cd openbmp-forwarder
sudo python setup.py install
If you install the python code, then you should be able to run from a terminal
openbmp-forwarder -c <configuration file>
If you are running from within the git directory, you can run it as follows:
PYTHONPATH=./src/site-packages python src/bin/openbmp-forwarder -c src/etc/openbmp-forwarder.yml
Usage: src/bin/openbmp-forwarder [OPTIONS]
OPTIONS:
-h, --help Print this help menu
-c, --config Config filename (default is sys.prefix/etc/openbmp-forwarder.yml)
Configuration is in YAML format via the openbmp-forwarder.yml file. See the file for details.