From mboxrd@z Thu Jan 1 00:00:00 1970 From: kraquen Date: Fri, 24 Sep 2004 05:35:42 +0000 Subject: Re: [LARTC] Prioritizing forwarded traffic over locally generated Message-Id: <4153B22E.1020205@kraquen.com> List-Id: References: <20040923220934.TUOJ19539.mta07-svc.ntlworld.com@slartibartfast> In-Reply-To: <20040923220934.TUOJ19539.mta07-svc.ntlworld.com@slartibartfast> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org Sounds to me like he's trying to match via source IP.. which would catch everything just fine.. Niel, I do something very similar, its fairly simple.. you want to mark packets in your prerouting, then match against them in your qdiscs.. i use an htb.. my upload link can handle about 85 kilobytes / sec. I have several classes that match with various rates, the cieling for all of them is ~80 Then i have a class that matches the mark that i use for that specific IP. That mark goes into a class with a rate of 2 KB/s and a cieling of 75 that class gets 75 when nothing else is running, and 2 if other classes are filling it up. Hope this helps, Jason Jason Boxman wrote: >On Thursday 23 September 2004 18:09, Neil Greatorex wrote: > > >>Hi, >> >>I'm a complete newbie at this traffic shaping / QoS stuff so please excuse >>me if this is a silly question. I've searched and searched on Google and I >>just end up confusing myself even more, so I thought I'd post my question >>to this list and see whether someone can help me! >> >> > >Sure. > > > >>Basically, I am running a Linux box as a NAT router on my home network >>(machine name marvin). I want to use mldonkey on the router box for P2P >>downloads. What I wish to do, is to have any traffic that originates on the >>internal LAN take priority over traffic that is generated from mldonkey on >>marvin. I don't wish to restrict the maximum bandwidth for the P2P >>downloads on a permanent basis if I can help it - so that all the bandwidth >>is used all of the time. >> >> > >So you'd like to classify p2p traffic from mldonkey (Overnet/Kad/eDonkey) such >that it is granted a lower priority than other traffic? Not a problem. >However, because those three protocols use random ports, you cannot classify >'edonkey' traffic based on port. You can use either ipp2p or L7-Filter to >match these flows based on layer 7 pattern matching, though. > > > >>My plan was to use the PREROUTING and OUTPUT chains of the mangle table to >>mark the packets, and then use some form of qdisc/class structure that will >>prioritise one over the other. >> >> > >I believe you can use the POSTROUTING chain of the mangle table and nab all >traffic. L7-Filter has a nice graphic[1] available. > >[1] http://l7-filter.sourceforge.net/PacketFlow.png > > > >>The aim of this is to have an upload that would normally take say 20 >>seconds from a machine on the LAN still take 20 seconds when mldonkey is >>uploading - so the NAT traffic will take all the bandwidth away from >>mldonkey. The closer to this aim I can get the better! >> >> > >That makes sense, although the time interval is relative to the data size and >protocol being used, so it isn't a useful measure for the rest of us. What's >the link size? What's the file / data size? > > > >>To test implementations, I am using SFTP to upload a file from both a >>machine on my internal network (named slartibartfast), and marvin (the >>router machine) simultaneously. The perfect behaviour would be for the >>upload on slartibartfast to take 20 seconds, and the upload on marvin to >>take 40. >> >> > >Which implementations have you tried to use? I'd imagine Wondershaper? >Others? > > > >>I have tried various setups of qdiscs and classes, using various examples >>from all over the web (including the LARTC FAQ/cookbook) but I haven't been >>able to get anywhere near my aim. All of the attempts I've made have led to >>both uploads taking near enough 40 seconds, as they are both running at 50% >>of the available bandwidth. I would like it to give almost all the >>bandwidth to slartibartfast for the first 20 seconds, and then all the >>bandwidth to marvin for the remaining time. >> >> > >The problem is likely that you cannot effectively match p2p flows that use the >'edonkey' protocols. (Actually, the latest L7-Filter pattern matches do not >yet match eMule's new Kad network, so you'll still need to either disable >support for that in mldonkey or deal with latency issues that arise.) > > > >>I would really appreciate it if someone could tell me whether: >>a) This setup is actually possible! >> >> > >Absolutely! > > > >>b) If using the mangle table chains is correct for this >> >> > >I believe so. > > > >>c) If it is, the easiest/best/fastest way to implement it. Just some hints >>for the right direction would be fine! >> >> > >You might explore my guide[2]. I have a setup quite similar to the one you >wish to implement, except on my router does not generate any traffic. (I >have mldonkey running on an internal machine instead.) > >[2] http://trekweb.com/~jasonb/articles/traffic_shaping/ > > > >>Many thanks in advance, >>Neil Greatorex >> >> >> > >_______________________________________________ >LARTC mailing list / LARTC@mailman.ds9a.nl >http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ > > _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/