A Multipath TCP python support library
Project description
mptcplib
About
A Multipath TCP Python library. We encourage users to activate notifications since the library is still in it's early stages and the API may change. Certain functions are available starting from a specific kernel releases, we encourage the user's to check the MPTCP kernel implementation changelog.
For a deeper read about Multipath TCP, please consult this webpage.
Table of content
- Example Usage
- Description
- License
Example Usage
To be able to use the library we encourage to install using PyPi. Run the following command:
pip install mptcplib
Below you can find an example of a typical socket script :
import mptcplib
import socket
sock = mptcplib.create_mptcp_socket(socket.AF_INET, socket.SOCK_STREAM):
# Do things ...
if mptcplib.is_socket_mptcp(sock):
# Do things in case of an MPTCP socket ...
used_subflows = mptcplib.get_nb_used_subflows(sock)
else:
# Handle fallback to standard TCP ...
sock.close()
There are other useful functions i.e : Check if the os supports MPTCP and that it is enabled. We intend to add more functions that are supported by the kernel implementation.
Description
The library is currently supported on Linux kernels but the goal will be to extend it to MacOS. Below is a table containing operating systems that supports Multipath TCP and their support in mptcplib.
Operating System | mptcplib support |
---|---|
Linux based (kernel >= 5.6) | Yes |
MacOS (Big Sur, Ventura) | Not yet |
Contributing
Pull requests are more than welcome. For major changes, please open an issue discussing what you would like to change.
To install the library in developper mode run the following command in the root directory:
make dev-install
In order to run the tests, you have to first install the library in developper mode then you can follow up with:
make test
License
The repository is under the MIT License, welcoming anybody to play with the codebase.
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 Distribution
Built Distribution
File details
Details for the file mptcplib-0.1.3.tar.gz
.
File metadata
- Download URL: mptcplib-0.1.3.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22d1f05ffe7545495aa28c60bc5bffe7ecc7e46ab8ff4e996783f8afd7698e22 |
|
MD5 | 7035a1ccf4e150b73ef4fd5fb53a2d4e |
|
BLAKE2b-256 | 9c0eb2f18266467fc90f7d1044f3660c3333632e4fac0bc1ecc2f72bce9795a2 |
File details
Details for the file mptcplib-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: mptcplib-0.1.3-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e37705d23dead4fe6dbd632edd614d42b117cd926189f3de02f448af6283031e |
|
MD5 | 8f1d0303061e9a03620ee69a61935546 |
|
BLAKE2b-256 | 14ee0049ba84a0095fa0a6c4987e101eeba1ed3cb4d7c2e26b3aa628e6c11bde |