RE: Prioritizing forwarded traffic over locally generated traffic

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Many thanks to both of you for your replies.

I have managed to get the setup working how I intended now - by using HTB
classes/qdiscs. I had tried this approach before as one of many, however
what I had failed to do was create the two classes I am filtering the
traffic into as subclasses of a parent HTB class that was limited to the
rate of the connection. Now it works as I intended!

I'm now going to tackle the harder problem of doing it for downloading - I'm
off to play with IMQ :-)

Again, many thanks for your suggestions/advice!

Cheers,
Neil

--
#include "sig.h"
#define NAME    "Neil Greatorex"
#define E-MAIL  "neil@xxxxxxxxxxxxxxx" 

http://www.spreadfirefox.com/?q=affiliates&id=7889&t=58

 

> -----Original Message-----
> From: lartc-admin@xxxxxxxxxxxxxxx 
> [mailto:lartc-admin@xxxxxxxxxxxxxxx] On Behalf Of kraquen
> Sent: 24 September 2004 6:36 AM
> To: jasonb@xxxxxxxxxx
> Cc: lartc@xxxxxxxxxxxxxxx
> Subject: Re:  Prioritizing forwarded traffic over 
> locally generated traffic
> 
> 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@xxxxxxxxxxxxxxx
> >http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: 
> http://lartc.org/
> >  
> >
> 
> _______________________________________________
> LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
> 



_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux