From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?iso-8859-1?q?Gr=E9goire_Leroy?= Subject: Re: Fair queuing with htb Date: Sat, 25 Dec 2010 02:08:27 +0100 Message-ID: <201012250208.36503.gregoire.leroy@hyperthese.net> References: <201012230226.31297.gregoire.leroy@hyperthese.net> <201012231330.06888.gregoire.leroy@hyperthese.net> <1293235795.1660.7.camel@andybev> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart3831963.nsiiINAxPf"; protocol="application/pgp-signature"; micalg=pgp-sha256 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1293235795.1660.7.camel@andybev> Sender: netfilter-owner@vger.kernel.org List-ID: To: Andrew Beverley Cc: Julien Vehent , netfilter@vger.kernel.org --nextPart3831963.nsiiINAxPf Content-Type: multipart/mixed; boundary="Boundary-01=_LQUFN0xPvCPMMnH" Content-Transfer-Encoding: 7bit --Boundary-01=_LQUFN0xPvCPMMnH Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline > I suspect that your packets are not being marked correctly. If some of > the packets are going into the '10' class, but the majority are not, > then for some reason the majority are not being captured. >=20 > Please provide some more information on your setup (probably better to > the thread on the Squid list), or maybe do some closer inspection of > your packets MARK value using the LOG target. >=20 > Andy I've attached a graph which explains what are the marked packets. The general goal is to do a QoS based on user ip. If I had no proxy, it wou= ld=20 be easy. However, since I've a proxy, my firewall sees the proxy ip, not th= e=20 users IP. So, I want to use Squid to mark packets according to the user ip, in order = to=20 apply my QoS rules in function of mark. My logs say that marked packets are packets from squid to web server. Another way to do what I want to do would be add an address by user on my=20 network interface, use the tcp_outgoing_address directive on squid, and man= age=20 my QoS with the firewall on my gateway, based on the ip used by the proxy. = But=20 it would be... heavy. --Boundary-01=_LQUFN0xPvCPMMnH Content-Type: application/vnd.oasis.opendocument.graphics; name="proxy.odg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="proxy.odg" UEsDBBQAAAgAADgDmT2fAy7EKwAAACsAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2Fz aXMub3BlbmRvY3VtZW50LmdyYXBoaWNzUEsDBBQAAAgAADgDmT3Po4DvWwMAAFsDAAAtAAAAUGlj dHVyZXMvMTAwMDAwMDAwMDAwMDAyMDAwMDAwMDIwMDAzMDlGMUMucG5niVBORw0KGgoAAAANSUhE UgAAACAAAAAgCAMAAABEpIrGAAADAFBMVEUAAAAAAIAAgAAAgICAAACAAICAgACAgIDAwMAAAP8A /wAA////AAD/AP///wD///8AAAAzAABmAACZAADMAAD/AAAAMwAzMwBmMwCZMwDMMwD/MwAAZgAz ZgBmZgCZZgDMZgD/ZgAAmQAzmQBmmQCZmQDMmQD/mQAAzAAzzABmzACZzADMzAD/zAAA/wAz/wBm /wCZ/wDM/wD//wAAADMzADNmADOZADPMADP/ADMAMzMzMzNmMzOZMzPMMzP/MzMAZjMzZjNmZjOZ ZjPMZjP/ZjMAmTMzmTNmmTOZmTPMmTP/mTMAzDMzzDNmzDOZzDPMzDP/zDMA/zMz/zNm/zOZ/zPM /zP//zMAAGYzAGZmAGaZAGbMAGb/AGYAM2YzM2ZmM2aZM2bMM2b/M2YAZmYzZmZmZmaZZmbMZmb/ ZmYAmWYzmWZmmWaZmWbMmWb/mWYAzGYzzGZmzGaZzGbMzGb/zGYA/2Yz/2Zm/2aZ/2bM/2b//2YA AJkzAJlmAJmZAJnMAJn/AJkAM5kzM5lmM5mZM5nMM5n/M5kAZpkzZplmZpmZZpnMZpn/ZpkAmZkz mZlmmZmZmZnMmZn/mZkAzJkzzJlmzJmZzJnMzJn/zJkA/5kz/5lm/5mZ/5nM/5n//5kAAMwzAMxm AMyZAMzMAMz/AMwAM8wzM8xmM8yZM8zMM8z/M8wAZswzZsxmZsyZZszMZsz/ZswAmcwzmcxmmcyZ mczMmcz/mcwAzMwzzMxmzMyZzMzMzMz/zMwA/8wz/8xm/8yZ/8zM/8z//8wAAP8zAP9mAP+ZAP/M AP//AP8AM/8zM/9mM/+ZM//MM///M/8AZv8zZv9mZv+ZZv/MZv//Zv8Amf8zmf9mmf+Zmf/Mmf// mf8AzP8zzP9mzP+ZzP/MzP//zP8A//8z//9m//+Z///M//////8AuP8AAAAAAAAAAAAAAAAAAAAA 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 e++MqhkSU9l+B0GO2v+zxlg9k6ppeHXusKr9leDEGOv56TGWCbeTU6zPQNOkiC8Jp81Bt7ziq/Z3 pEuPfj7DcsjsOBr7gqabeaEOh9H6YcB8Bec2MfqXtFyJZPeQmp6+Mdkq+Qyy5NlWfagrcA02OAj/ etYN3azMb2UZ30C1Qm35ene+mea29HiNPOP62L39NXfqkXBw5VTaR+rI8/lZjowmhQ9h0+CPI4HJ 02fWhOhUTThiHteE8VFkquzY44jOP47oyxxH3/Uk2P/ucvADVRwvFo/rDMYEudnlsEuchgN9Ysvo Od/zWsXuoc/OKiYpowleeh8+s9wDvUVzHg3BGYXjMTovMBqMHiRVPRxI3d69abZXIkvOh+4LpZVH C928Z+zBFQR5/FcRzRmtavk14tUtkuc2idFhkwhNYO+6TnMYdQpC50Tx0zdSF1zZDnPsQUR9ge4f fGxpH/GrLvyOMyYNowFzw0hGd9CKdY7i99eB1yNzwr8GasEB2VSZsLfKNNTS+Ygi6hCbmWO0MK26 1U9yAEVIvv8eHj8ClpS7+DhWDHvg66Q8yoT2XyYQfEGLiUs88rIVjT9upKjh/M1RmQ9DR3R7/uBx WUZOK6Vdcrf/lBaMQhKOjvfP7peMxur2e8cj/l7fMTKmf6+GRWPwUSmyExI20DF7ain/0A4DijUW Me6c0ruDz6RcB927r/NpJnFO19+jfACm3/+PeF7+H1BLBwgAjqJH7AgAAAQ0AABQSwMEFAAACAAA OAOZPYkOKgFmBAAAZgQAAAgAAABtZXRhLnhtbDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9 IlVURi04Ij8+CjxvZmZpY2U6ZG9jdW1lbnQtbWV0YSB4bWxuczpvZmZpY2U9InVybjpvYXNpczpu YW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6 Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxl bWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4 bWxuczptZXRhOjEuMCIgeG1sbnM6cHJlc2VudGF0aW9uPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3Bl bmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjAiIHhtbG5zOm9vbz0iaHR0cDovL29wZW5v ZmZpY2Uub3JnLzIwMDQvb2ZmaWNlIiB4bWxuczpzbWlsPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3Bl bmRvY3VtZW50OnhtbG5zOnNtaWwtY29tcGF0aWJsZToxLjAiIHhtbG5zOmFuaW09InVybjpvYXNp czpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6YW5pbWF0aW9uOjEuMCIgeG1sbnM6Z3JkZGw9 Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvZy9kYXRhLXZpZXcjIiB4bWxuczpvZmZpY2Vvb289Imh0 dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L29mZmljZSIgb2ZmaWNlOnZlcnNpb249IjEuMiIgZ3Jk ZGw6dHJhbnNmb3JtYXRpb249Imh0dHA6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL29mZmljZS8xLjIv eHNsdC9vZGYycmRmLnhzbCI+PG9mZmljZTptZXRhPjxtZXRhOmNyZWF0aW9uLWRhdGU+MjAxMC0x Mi0yNVQwMToxOTowODwvbWV0YTpjcmVhdGlvbi1kYXRlPjxkYzpkYXRlPjIwMTAtMTItMjVUMDE6 MjU6NDc8L2RjOmRhdGU+PG1ldGE6ZWRpdGluZy1kdXJhdGlvbj5QVDAwSDA2TTQwUzwvbWV0YTpl ZGl0aW5nLWR1cmF0aW9uPjxtZXRhOmVkaXRpbmctY3ljbGVzPjg8L21ldGE6ZWRpdGluZy1jeWNs ZXM+PG1ldGE6Z2VuZXJhdG9yPk9wZW5PZmZpY2Uub3JnLzMuMiRVbml4IE9wZW5PZmZpY2Uub3Jn X3Byb2plY3QvMzIwbTE5JEJ1aWxkLTk1MDU8L21ldGE6Z2VuZXJhdG9yPjxtZXRhOmRvY3VtZW50 LXN0YXRpc3RpYyBtZXRhOm9iamVjdC1jb3VudD0iOSIvPjwvb2ZmaWNlOm1ldGE+PC9vZmZpY2U6 ZG9jdW1lbnQtbWV0YT5QSwMEFAAICAgAOAOZPQAAAAAAAAAAAAAAABgAAABUaHVtYm5haWxzL3Ro dW1ibmFpbC5wbmftlmlUklkYx3GsdMq2ycIpzbTdmmyZMCwtNRey1MotMah0tFIyfM0ERMoytUUy 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 b25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQUAAAIAAA4A5k9AAAAAAAAAAAAAAAAGAAAAENv bmZpZ3VyYXRpb25zMi9tZW51YmFyL1BLAwQUAAAIAAA4A5k9AAAAAAAAAAAAAAAAGAAAAENvbmZp Z3VyYXRpb25zMi90b29sYmFyL1BLAwQUAAAIAAA4A5k9AAAAAAAAAAAAAAAAHwAAAENvbmZpZ3Vy YXRpb25zMi9pbWFnZXMvQml0bWFwcy9QSwMEFAAACAAAOAOZPQAAAAAAAAAAAAAAABoAAABDb25m aWd1cmF0aW9uczIvc3RhdHVzYmFyL1BLAwQUAAgICAA4A5k9AAAAAAAAAAAAAAAADAAAAHNldHRp bmdzLnhtbN1aXXPiNhR976/IePrQPhBDSLIJE9ghJGyYJQkNZNvtm7AvoEbW9UhyCP++kjEpC3ZC ZNTpNA/5sKVzjqSr+0UuPr9E7OAZhKTIm17tsOodAA8wpHza9B5H3cqZ97n10wVOJjSARohBEgFX FQlK6SHyQE/nsrF83fQSwRtIJJUNTiKQDRU0MAa+mtZYH91IyZZPXhjlT01vplTc8P35fH44rx+i mPq18/NzP327GhoLkBqKqFTwboTrc9ZpA+QTOt0VZTl6fT4ivoo2E5YLS4UfVavH/vLv1WgZUbYr lxlbCTCKteYx+2GvCKfRrjBm7Naql6re1n7+qj07rDUTOfJaK3tYmUHrItuc5Y8KVRAZGznIHhuN TU9TNp4pzF+tx8ub9+Ocb1SaDWgLICOMvdVLtYj1S8qV1zqp1y78bZgPQfdhovKwK6fHJ9XS6L/T UM3y4OvH9fpRafgboNNZrvyj6un5p13xKxGJK5SH8ALhJhfM888qnaPNTSx2UQzzXrghUyqhDcFr GbOwPMYvgoY9me3HBvwYkQHhXmtCmIQy+F2BfHOP94Hek0NO4hEaliJ4JZKS6AMyhVsippRLdyTm e59yKKTYwzbdj/+CQHWFfuicZYD6ErlZzIAl8obwkIFsszlZODRfY7r6lytBpkN91ZiT47lmNKKc KBggW6T71tcPVNvw5Tmm2knV0q325DaXixVlB9InCx34NvGJhNPjSy1CLLyWv/PXWdNOy0D7SEX+ K2r6GDxB+L4U/32oO2wrHQDGLg7wDjvIcFtieX/3kDAQ70Yce3zjrL/qQLwZKmco9NWxvDdDYNql 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 AAC/JwAAAAA= --Boundary-01=_LQUFN0xPvCPMMnH-- --nextPart3831963.nsiiINAxPf Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iF4EABEIAAYFAk0VRAsACgkQB3Y8MwGKx1d/3QD/YKo5DAWgHHV2Y8tb7221SaM5 ucyYxmprXdxMHSwdOukA/iNmf2jA4RCbYzPWKi3QU/7Q+bOUF43fhPeFd1hoyt31 =3fbj -----END PGP SIGNATURE----- --nextPart3831963.nsiiINAxPf--