Metadata-Version: 2.1
Name: ircbgp
Version: 0.0.1
Summary: Proof of concept implementation for an IRC bot to simulate bgp with students.
Home-page: https://github.com/mutax/ircbgp
Author: Florian Streibelt
Author-email: pypi@streibelt.net
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Requires-Dist: irc
Requires-Dist: jaraco

# ircbgp

Small script to simulate bgp with students using IRC.


# What is needed

You need to design a topology and for each link between two ASes create an irc channel on a irc server.
You can now assign AS numbers to students and let them either interact with this bot and/or each other.

Kudos to Tobias Fiebig, who used this concept in a lecture and gave the inspiration to write a bot for
this.


# Why?

Just a proof of concept, however, the bot could already be useful to replace participants leaving the
lecture early.

# Usage

Use screen to start multiple bots in parallel or use separate terminals:

```
   $ screen ircbgpbot Florian 1 '#as1-as2'
   $ screen ircbgpbot Claudia 2 '#as1-as2,#as2-as3'
   $ screen ircbgpbot Tobias  3 '#as2-as3'
```

This would start three bots connecting to a irc server running on localhost, names Florian, Claudia and Tobias.
All three will start announcing their nickname and AS number (1-3) to the channels listed as last parameters.

Received announcements will then be forwarded to all other channels and the own AS-number appended(!) to the aspath.

Note: We are of course NOT implementing the whole BGP protocol and do not support things like withdrawals.

# Testing convergence

The command msg:nickname:Text message can be used to send a message to the nickname given, if it was announced
by somebody in the 'network'. Bots will print the message as debugging output.




