Simple tc command wrapper. Easy to setup traffic control of network bandwidth/latency/packet-loss to a network interface.
Project description
tcconfig
Summary
tcconfig is a Simple tc command wrapper. Easy to set up traffic control of network bandwidth/latency/packet-loss to a network interface.
Traffic control features
Network
Traffic control can be specified network to apply to:
Outgoing/Incoming packets
Certain IP address/network and port
Available parameters
The following parameters can be set to network interfaces.
Network bandwidth rate [G/M/K bps]
Network latency [milliseconds]
Packet loss rate [%]
Packet corruption rate [%]
Usage
Set traffic control (tcset command)
tcset is a command to impose traffic control to a network interface (device).
e.g. Set a limit on bandwidth up to 100Kbps
# tcset --device eth0 --rate 100k
e.g. Set 100ms network latency
# tcset --device eth0 --delay 100
e.g. Set 0.1% packet loss
# tcset --device eth0 --loss 0.1
e.g. All of the above at once
# tcset --device eth0 --rate 100k --delay 100 --loss 0.1
e.g. Specify the IP address of traffic control
# tcset --device eth0 --delay 100 --network 192.168.0.10
e.g. Specify the IP network and port of traffic control
# tcset --device eth0 --delay 100 --network 192.168.0.0/24 --port 80
Delete traffic control (tcdel command)
tcdel is a command to delete traffic control from a network interface (device).
e.g. Delete traffic control of eth0
# tcdel --device eth0
Display traffic control configurations (tcshow command)
tcshow is a command to display traffic control to network interface(s).
Example
# tcset --device eth0 --delay 10 --delay-distro 2 --loss 0.01 --rate 0.25M --network 192.168.0.10 --port 8080
# tcset --device eth0 --delay 1 --loss 0.02 --rate 500K --direction incoming
# tcshow --device eth0
{
"eth0": {
"outgoing": {
"network=192.168.0.10/32, port=8080": {
"delay": "10.0",
"loss": "0.01",
"rate": "250K",
"delay-distro": "2.0"
},
"network=0.0.0.0/0": {}
},
"incoming": {
"network=0.0.0.0/0": {
"delay": "1.0",
"loss": "0.02",
"rate": "500K"
}
}
}
}
For more information
More examples are available at http://tcconfig.readthedocs.org/en/latest/pages/usage/index.html
Installation
Install via pip
tcconfig can be installed via pip (Python package manager).
sudo pip install tcconfig
Dependencies
Linux packages
iproute2 (required for tc command)
Python packages
Dependency python packages are automatically installed during tcconfig installation via pip.
Test dependencies
Documentation
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
Hashes for tcconfig-0.6.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 517dcc05b82798cf16d79392373ec1d52b983e4071ac830469d77dfcb351f2cd |
|
MD5 | b51adbb0c60a71e9ac9a87825f3a632e |
|
BLAKE2b-256 | c90f8140efc495810147e06bfd2b396567a8c20be2b28713f4f52b14c8ea9762 |