List of commits:
Subject Hash Author Date (UTC)
Added a good example for tc prio classification. 32b9078e47fccc09527ca2c11904f82879934da3 Catalin(ux) M. BOIE 2011-08-22 15:16:21
Added support for multiple connections and chunk size for send_udp example. eff367aa527ed763fe525832891e0fc0df9badbb Catalin(ux) M. BOIE 2011-08-22 14:58:13
Do not count the time spent in sleep! e585e5e0b0b3ce0637674cf320a6f044afa42982 Catalin(ux) M. BOIE 2011-08-22 14:57:28
Give a real example for bandwidth enforcing. ca829bcb14183f7f5aa180bed4bf633199dc5839 Catalin(ux) M. BOIE 2011-08-22 14:57:01
Added possibility to force skb priority field (SO_PRIORITY). 9b4b2a6b03ff7573041a7ed96c86e7bcda86c580 Catalin(ux) M. BOIE 2011-08-06 21:55:43
Added support for FWMARK. 648b09b84fcd5bc17aaa7d6ba2bf2bfeeea583f7 Catalin(ux) M. BOIE 2011-08-06 21:35:23
Added support for IPv6 flowinfo (class + label). c23cc6042893fb98986b5aa38c146b7aec488079 Catalin(ux) M. BOIE 2011-08-06 21:11:46
Added support for connecting clients (socket -> connect or socket -> sendto). 8f94255890a99d4890206e53f031ffad79c55866 Catalin(ux) M. BOIE 2011-08-05 21:15:38
Bump version to 0.7. 1a51b690a50c482c9e727b3e8e129bbc2890f600 Catalin(ux) M. BOIE 2011-06-21 17:06:25
Corrected description and license. 708b98d98bb5704f3bd265928f07cc94c18bd212 Catalin(ux) M. BOIE 2011-06-21 17:06:04
Bump version to 0.6. cb4ef5c142753802f9dcd2410d094f9914e8273c Catalin(ux) M. BOIE 2011-06-21 16:56:15
Added support for separate FORCE_ADDR for IPv4 and IPv6, MSS, TTL etc. e32e97cafe360f192283168d76c327559282e24d Catalin(ux) M. BOIE 2011-06-21 16:55:12
Added TODO to %doc rpm section. 086dbb2e078955dddf83cbfd65998334d6db81e4 Catalin(ux) M. BOIE 2010-12-19 19:46:20
Added MSS. 9a5c3676567cb92e6c0b4106c2b97cd2da2273a5 Catalin(ux) M. BOIE 2010-12-14 17:00:37
Added TOS test script. a4b1b05b27b3eaa06a4a71f656e1b80731d1b8ff Catalin(ux) M. BOIE 2010-12-14 16:55:03
Ignore Changelog-last file. 1bfa5decd11f4fd95e4b002d88e2a2e04c747855 Catalin(ux) M. BOIE 2010-12-14 16:54:36
Added KA. ec9b4556e51ca9a807400910f8ca6d698f9ad670 Catalin(ux) M. BOIE 2010-12-14 16:53:58
Bump up the version to 0.5. f7ba7f0feb49ac4942d85903d31e085f1ffa6149 Catalin(ux) M. BOIE 2010-11-07 23:16:25
Duilder updates. 4d3691f340591f68f9b0ae704da24b4352957f05 Catalin(ux) M. BOIE 2010-11-07 23:15:29
Added support to force TOS by using env var FORCE_NET_TOS. 319cfbee315a0c6889791b122fdb8069aa2ffdf1 Catalin(ux) M. BOIE 2010-11-07 23:14:23
Commit 32b9078e47fccc09527ca2c11904f82879934da3 - Added a good example for tc prio classification.
Author: Catalin(ux) M. BOIE
Author date (UTC): 2011-08-22 15:16
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2011-08-22 15:16
Parent(s): ee8ee8eb6c36a8e89a144e98712534155673706e
Signing key:
Tree: 0169bedf019e40d25b9cdf0d31a8a32490f803b2
File Lines added Lines deleted
README 13 2
test_bw4.sh 23 0
File README changed (mode: 100644) (index 0cbc2f9..5549135)
... ... Examples:
96 96 14: Force priority (between 0 and 6 for non-root users). You can 14: Force priority (between 0 and 6 for non-root users). You can
97 97 use 'tc' command from iproute to set-up 'prio' qdisc and to use 'tc' command from iproute to set-up 'prio' qdisc and to
98 98 assign prio to queues: assign prio to queues:
99 # 0. setup
99 100 export FORCE_NET_VERBOSE=1 export FORCE_NET_VERBOSE=1
100 export FORCE_NET_PRIO=2
101 101 export LD_PRELOAD=${LD_PRELOAD}:/usr/lib/force_bind.so export LD_PRELOAD=${LD_PRELOAD}:/usr/lib/force_bind.so
102 your_program_here
102 # 1. Make sure you have a 'prio' qdisc attached to eth0, for example:
103 tc qdisc add ev eth0 root handle 1: prio
104 # 2. Assign applications to classed (bands):
105 export FORCE_NET_PRIO=6 # interactive, band 0
106 your_voip_program_here
107 export FORCE_NET_PRIO=0 # best effort, band 1
108 your_mail_program_here
109 export FORCE_NET_PRIO=2 # bulk, band 2
110 your_remote_backup_program_here
111 # 3. Run tc statistics so you can see the classification:
112 tc -s class show dev eth0
113
103 114
104 115 Installation: Installation:
105 116 - ./configure - ./configure
File test_bw4.sh added (mode: 100755) (index 0000000..088e712)
1 #!/bin/sh
2
3 # Test setting priority and clasification in prio qdisc
4
5 ulimit -c2000000
6
7 export FORCE_NET_VERBOSE=1
8
9 export LD_PRELOAD="${LD_PRELOAD}:./force_bind.so"
10
11 # 6 = Interactive (band 0)
12 export FORCE_NET_PRIO=6
13 strace -o ${0}.band0 ./send_udp 123 3000 &
14
15 # 0 = best effors (band 1)
16 export FORCE_NET_PRIO=0
17 strace -o ${0}.band1 ./send_udp 123 3000 &
18
19 # 2 = bulk (band 2)
20 export FORCE_NET_PRIO=2
21 strace -o ${0}.band2 ./send_udp 123 3000 &
22
23 wait
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/catalinux/force_bind

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/force_bind

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/force_bind

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main