::

    usage: tcset [-h] [-V] [--tc-command | --tc-script] [--debug | --quiet] [--debug-query] [--stacktrace] [--import-setting] [--overwrite | --change | --add] [--rate BANDWIDTH_RATE] [--delay LATENCY_TIME]
                 [--delay-distro LATENCY_DISTRO_TIME] [--delay-distribution {normal,pareto,paretonormal}] [--loss PACKET_LOSS_RATE] [--duplicate PACKET_DUPLICATE_RATE] [--corrupt CORRUPTION_RATE]
                 [--reordering REORDERING_RATE] [--limit PACKET_LIMIT_COUNT] [--shaping-algo {htb,tbf}] [--iptables] [--direction {outgoing,incoming}] [--network DST_NETWORK] [--src-network SRC_NETWORK] [--port DST_PORT]
                 [--src-port SRC_PORT] [--ipv6] [--exclude-dst-network EXCLUDE_DST_NETWORK] [--exclude-src-network EXCLUDE_SRC_NETWORK] [--exclude-dst-port EXCLUDE_DST_PORT] [--exclude-src-port EXCLUDE_SRC_PORT] [--docker]
                 [--src-container SRC_CONTAINER] [--dst-container DST_CONTAINER]
                 device

    positional arguments:
      device                target name: network-interface/config-file (e.g. eth0)

    options:
      -h, --help            show this help message and exit
      -V, --version         show program's version number and exit
      --tc-command          display tc commands to be executed and exit. these commands are not actually executed.
      --tc-script           generate a shell script file that describes tc commands. this tc script execution results are nearly equivalent to the tcconfig command. the script can be executed without tcconfig package
                            installation.
      --debug               for debug print.
      --quiet               suppress execution log messages.
      --import-setting      import traffic control settings from a configuration file.
      --overwrite           overwrite existing traffic shaping rules.
      --change              change existing traffic shaping rules to the new ones. this option is effective in reducing the time between the shaping rule switching compared to --overwrite option. note: just add a shaping
                            rule if there are no existing shaping rules.
      --add                 add a traffic shaping rule in addition to existing rules.

    Debug:
      --debug-query         for debug print.
      --stacktrace          print stack trace for debugging information. --debug option is required to see the debug print.

    Traffic Control Parameters:
      --rate BANDWIDTH_RATE, --bandwidth-rate BANDWIDTH_RATE
                            network bandwidth rate [bit per second]. the minimum bandwidth rate is 8 bps. valid units are either: [kK]bps, [kK]bits?(/|\s?per\s?)(s|sec|second), [kK]ibps,
                            [kK]ibits?(/|\s?per\s?)(s|sec|second), [mM]bps, [mM]bits?(/|\s?per\s?)(s|sec|second), [mM]ibps, [mM]ibits?(/|\s?per\s?)(s|sec|second), [gG]bps, [gG]bits?(/|\s?per\s?)(s|sec|second), [gG]ibps,
                            [gG]ibits?(/|\s?per\s?)(s|sec|second), [tT]bps, [tT]bits?(/|\s?per\s?)(s|sec|second), [tT]ibps, [tT]ibits?(/|\s?per\s?)(s|sec|second), bps, bits?(/|\s?per\s?)(s|sec|second). e.g. tcset eth0
                            --rate 10Mbps
      --delay LATENCY_TIME  round trip network delay. the valid range is from 0ms to 60min. valid time units are: d/day/days, h/hour/hours, m/min/mins/minute/minutes, s/sec/secs/second/seconds,
                            ms/msec/msecs/millisecond/milliseconds, us/usec/usecs/microsecond/microseconds. if no unit string is found, consider milliseconds as the time unit. (default=0ms)
      --delay-distro LATENCY_DISTRO_TIME
                            distribution of network latency becomes X +- Y (normal distribution). Here X is the value of --delay option and Y is the value of --delay-dist option). network latency distribution is uniform,
                            without this option. valid time units are: d/day/days, h/hour/hours, m/min/mins/minute/minutes, s/sec/secs/second/seconds, ms/msec/msecs/millisecond/milliseconds,
                            us/usec/usecs/microsecond/microseconds. if no unit string is found, consider milliseconds as the time unit.
      --delay-distribution {normal,pareto,paretonormal}
                            choose the delay distribution. (default=normal)", [limitation] this parameter can not be shown by tcshow, and export/import as config.
      --loss PACKET_LOSS_RATE
                            round trip packet loss rate [%]. the valid range is from 0 to 100. (default=0)
      --duplicate PACKET_DUPLICATE_RATE
                            round trip packet duplicate rate [%]. the valid range is from 0 to 100. (default=0)
      --corrupt CORRUPTION_RATE
                            packet corruption rate [%]. the valid range is from 0 to 100. packet corruption means a single-bit error at a random offset in the packet. (default=0)
      --reordering REORDERING_RATE
                            packet reordering rate [%]. the valid range is from 0 to 100. (default=0)
      --limit PACKET_LIMIT_COUNT
                            limits the maximum number of packets the qdisc may hold when doing delay. the minimum value is 1. (default=0)
      --shaping-algo {htb,tbf}
                            shaping algorithm. defaults to htb (recommended).
      --iptables            use iptables for traffic control.

    Routing:
      --direction {outgoing,incoming}
                            the direction of network communication that imposes traffic control. 'incoming' requires ifb kernel module and Linux kernel 2.6.20 or later. (default = outgoing)
      --network DST_NETWORK, --dst-network DST_NETWORK
                            specify destination IP-address/network that applies traffic control. defaults to any.
      --src-network SRC_NETWORK
                            specify a source IP-address/network that applies traffic control. defaults to any. this option has no effect when executing with "--direction incoming" option. note: this option is required to
                            execute with the --iptables option when using tbf algorithm.
      --port DST_PORT, --dst-port DST_PORT
                            specify a destination port number that applies traffic control. defaults to any.
      --src-port SRC_PORT   specify a source port number that applies traffic control. defaults to any.
      --ipv6                apply traffic control to IPv6 packets rather than IPv4.
      --exclude-dst-network EXCLUDE_DST_NETWORK
                            exclude a specific destination IP-address/network from a shaping rule.
      --exclude-src-network EXCLUDE_SRC_NETWORK
                            exclude a specific source IP-address/network from a shaping rule.
      --exclude-dst-port EXCLUDE_DST_PORT
                            exclude a specific destination port from a shaping rule.
      --exclude-src-port EXCLUDE_SRC_PORT
                            exclude a specific source port from a shaping rule.

    Docker:
      --docker              apply traffic control to a docker container. to use this option, you will need to specify a container id as 'device' as follows: tcset --container <container id>
      --src-container SRC_CONTAINER
                            specify source container id or name.
      --dst-container DST_CONTAINER
                            specify destination container id or name.

    Documentation: https://tcconfig.rtfd.io/
    Issue tracker: https://github.com/thombashi/tcconfig/issues
