Linux Multicast Routing.
Project description
pygmp - Multicast Routing in Linux
Python interface and services for Linux multicast routing.
Limitations / Roadmap
This is a work in progress. Currently, only IPv4 multicast routing is supported. The software has only been tested on Ubuntu 20.04, and is not garenteed to work on other distros. The only implementation thus far is a simple, IPv4, static multicast router with a REST API.
Quick Start
Install the library with all dependencies needed to run router services.
pip install py-gmp[daemons]
IPv4 Static Multicast Routing
Setup the simple daemon's config file. The default location for the file is at /etc/simple.ini.
For example, say I have two network interfaces: eth0 and br0. I'd like route all incoming multicast for groups 239.1.0.1/24 on the eth device to the bridge. The config file would look like this.
[phyints]
names=eth0,br0
[mroute_1]
from = eth0
group = 239.1.0.1/24
to = br0
Next, start the daemon.
sudo python3 -m pygmp simple
Source
Install the task utility. This utility is used to standardize build and test processes.
task install
IPv4 Static Multicast Routing
Run an example static multicast router implementation
task run
In your browser, you should be able to hit http://172.20.0.2:8000/docs to see the OpenAPI documentation.
Roadmap
- finalize IPv4 simple multicast daemon implementation
- CI/CD / semantic versioning / create a pip registry
- MLD/IPv6 support
- pimd daemon implementation
- Dockerized example
- expand testing to other distros
Host Configuration Gotchas
Most new distibutions set the IGMP version to 3. To test with IGMPv2, you'll need to set it to 2 and reboot. Also, make sure mc_forwarding is enabled. Change the values in /etc/sysctl.conf. Then, reboot.
net.ipv4.ip_forward = 1
net.ipv4.conf.all.force_igmp_version = 2
net.ipv4.conf.default.force_igmp_version = 2
net.ipv4.conf.all.mc_forwarding = 1
net.ipv4.conf.default.mc_forwarding = 1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_gmp-0.0.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 45.7 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74b53e323d6dbcabc8fd0089b8175a94f5de74665461898b40ce346370f2aa59
|
|
| MD5 |
03157b955aa0dd64b7f09795c104efea
|
|
| BLAKE2b-256 |
17080a883f5c9c376ab9f7c94aaa3a8261966b0646dc7cad572f7b6ead23a4dc
|
File details
Details for the file py_gmp-0.0.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 46.8 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48b6cb5b58551143293e629a26e500c6cb54f1de79f100a803f290cbd1103c79
|
|
| MD5 |
565367761295c04d1894580d7d39ebdd
|
|
| BLAKE2b-256 |
93c0d42f0fb3d53ab4e02fbde800299c79d69e2e0c7be640b85b466a59a93c0e
|
File details
Details for the file py_gmp-0.0.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 45.7 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaa489543434082c4673319b289b905b0132d41f8b75ab528297a385e5e4d53d
|
|
| MD5 |
bf6402dbd4cfeb0dd238c67ba7c3a0d2
|
|
| BLAKE2b-256 |
c24b5e0d9a62aaafa58558c83812ae4613b6c5217949ae292b0fc472bde469f9
|
File details
Details for the file py_gmp-0.0.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 46.8 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21212c0f0cf2cabb748ac6e9e8df80be1265b33579f393efaee744446451f59e
|
|
| MD5 |
e92d0ea567906ff70a3b987c77e7a76a
|
|
| BLAKE2b-256 |
f3957f3386aaebcabe89d24ef5afd4c4cd377ece18084dfd55bc5b163d4845a9
|
File details
Details for the file py_gmp-0.0.2-cp311-cp311-musllinux_1_1_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 79.5 kB
- Tags: CPython 3.11, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c3cc222301b3d6fe61a689488eca8b17aa0a02387e3e7e96df393826db94c20
|
|
| MD5 |
e5bfa3277143d9ae485a976a665c66ca
|
|
| BLAKE2b-256 |
2665a67b57d937ece938c662bfb40f64f155747880a29a908c7b26a6c9906607
|
File details
Details for the file py_gmp-0.0.2-cp311-cp311-musllinux_1_1_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp311-cp311-musllinux_1_1_i686.whl
- Upload date:
- Size: 79.1 kB
- Tags: CPython 3.11, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1beb2ec4874c890ea29215ea30e522aaa997403e5576fa4ff90ae3d7ce28e52a
|
|
| MD5 |
4e8e8dd6795fed73e4345cdd4ec00d09
|
|
| BLAKE2b-256 |
08e84cfc8de9c7bddc09362354a0f4859cb395437d761a7fadeb7576f7996097
|
File details
Details for the file py_gmp-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 73.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51216230fa19804a9977595a71d3de0a0934611663de8fe4226242e203aa6128
|
|
| MD5 |
56107ecccc2fb8fcfc5556f59418ef40
|
|
| BLAKE2b-256 |
47b740a6e73ea2d3519b6bae9edf1a940f8f184747a8c554be933c34e40b46bc
|
File details
Details for the file py_gmp-0.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 73.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af1ba1ef2f4c488ad1d9de87605241a0cbf94f4dfc1abd0c87f2360c83d806e9
|
|
| MD5 |
a9ee287d7b5b51ae11225de7de520020
|
|
| BLAKE2b-256 |
c1fce5761100007354bde8b84197e27594571862db12f2d5058ccbdfc0514a97
|
File details
Details for the file py_gmp-0.0.2-cp310-cp310-musllinux_1_1_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 77.6 kB
- Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cfecfcbb34b2714adab10b855aa61fafc591636782ebcb82f9c8547bffacd81
|
|
| MD5 |
ad221f3abd66353d4f53c046b4cf3ed5
|
|
| BLAKE2b-256 |
402569683ad931ea1567204fbe45860ab658a7c40f931894005fcff551e8cc32
|
File details
Details for the file py_gmp-0.0.2-cp310-cp310-musllinux_1_1_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp310-cp310-musllinux_1_1_i686.whl
- Upload date:
- Size: 77.1 kB
- Tags: CPython 3.10, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f46066f14a8c1bcef098ecd8d9c0d3681281d1274b2d4bada7f5e8879368d987
|
|
| MD5 |
872e4184febf5681dbd64e38fb27ece6
|
|
| BLAKE2b-256 |
903dc371aa95937053e0e39f84196ce5688e6d9d4117f3c6ca6bdc66874041fc
|
File details
Details for the file py_gmp-0.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 73.6 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de8cc7947067faef165a8251731eb4d4ae4f406d5d6e0a2c0d824df8d510b51f
|
|
| MD5 |
4a31ca1042740242c2f8973a887d23d4
|
|
| BLAKE2b-256 |
8ed4614aabc50f9e841330efa0672a227d55cd9388008665ff4a6b5e807ad46a
|
File details
Details for the file py_gmp-0.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 73.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
437430efad675f324fc4c5ece057d82c5fff8753b41cb30dd8efbbdca5f3af43
|
|
| MD5 |
f40d5e00f802b5576dc838eafd0e1039
|
|
| BLAKE2b-256 |
06796ca789a6a3b3010e3883f44330b2bf6b733094610825f682c71d870d35e6
|
File details
Details for the file py_gmp-0.0.2-cp39-cp39-musllinux_1_1_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp39-cp39-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 77.2 kB
- Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6eef0a0d63ab79e176c93ac642eb79fb0982a2e452e103023f24b6d59bb69da3
|
|
| MD5 |
9bc620ea14c3879f20e47011a23b0e3d
|
|
| BLAKE2b-256 |
686e51ebf87ba0a18b42f3a28cb53584a182cc04f84f3d274e5af115c7b18f89
|
File details
Details for the file py_gmp-0.0.2-cp39-cp39-musllinux_1_1_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp39-cp39-musllinux_1_1_i686.whl
- Upload date:
- Size: 76.8 kB
- Tags: CPython 3.9, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57542ab1166c27960bcb677a1666fa785676bbc8ad384a1a7253341555d13ccf
|
|
| MD5 |
3798a717a35ab58217b35454e871c0b6
|
|
| BLAKE2b-256 |
cb6a00d3cd8e551887968d2a3e313ec342334e48ba099352d6970147d07e1f34
|
File details
Details for the file py_gmp-0.0.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 73.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca647315f2f052251103139e3854bc76a86a246b07202c9fe245f3151c4f82cc
|
|
| MD5 |
da67ae8baf55a1e3ec1d507629486c87
|
|
| BLAKE2b-256 |
d179a3c774d9f4ab01b2d3e651c4f3f899a6f6d80ef00b8d720bbc53c0e70cc9
|
File details
Details for the file py_gmp-0.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 72.7 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d474d931db5c6315e21fc5859ef7ceead1e110c913f392d377412e0f31b9acf3
|
|
| MD5 |
2763de84fdb2394c6b1be842c1de4d1c
|
|
| BLAKE2b-256 |
e1cd5b39e8a956ca98a1e132db11673ea827933ee4038c2d8cb059f4a4bc3572
|
File details
Details for the file py_gmp-0.0.2-cp38-cp38-musllinux_1_1_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp38-cp38-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 79.8 kB
- Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a1d67c5ee707515744898ddfe36b884d2971d2555223e4fb5718366f2bceff5
|
|
| MD5 |
054b129c93a6fe3ccc42fbcdf1eb71a2
|
|
| BLAKE2b-256 |
40e724aed3d1fcef2e05196bab983d9aae3724be170e5754323b9835543d7b3e
|
File details
Details for the file py_gmp-0.0.2-cp38-cp38-musllinux_1_1_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp38-cp38-musllinux_1_1_i686.whl
- Upload date:
- Size: 79.5 kB
- Tags: CPython 3.8, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0fcb07295cb5d88c9ec688ac43a5cf06c030ec8da18de9f6400eb2b26f1df7f
|
|
| MD5 |
64ee653090564896ae882bfdca6a1a10
|
|
| BLAKE2b-256 |
1fc75e41ec3f53210f2af9cfd819999a142ee9e05acafa2ef17f6261f87630a5
|
File details
Details for the file py_gmp-0.0.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 76.3 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6db6b9f349652b52fe7cb191e63fd72a7a2de6d9fc8db2df78fb3578becab808
|
|
| MD5 |
17cd450bd5f06e4e0e14423fbbdf8b76
|
|
| BLAKE2b-256 |
268bfaae40df5398a30c8bcb8b8c42d9c831bca4c83b124ffd95c19b2d515a4c
|
File details
Details for the file py_gmp-0.0.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: py_gmp-0.0.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 76.0 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58f6d080e197d60b970d63c4bbf408b784080b861f61b4349a918b9a9ffdf4b3
|
|
| MD5 |
dc04b516377b5c8e18fb4c5bf97cd40b
|
|
| BLAKE2b-256 |
4e552f9b467c704586f08382ebda3ab19f4bf2a0dc0bc9744ed714a01656ed77
|