All of lore.kernel.org
 help / color / mirror / Atom feed
From: kraquen <kraquen@kraquen.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Prioritizing forwarded traffic over locally generated
Date: Fri, 24 Sep 2004 05:35:42 +0000	[thread overview]
Message-ID: <4153B22E.1020205@kraquen.com> (raw)
In-Reply-To: <20040923220934.TUOJ19539.mta07-svc.ntlworld.com@slartibartfast>

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/

  parent reply	other threads:[~2004-09-24  5:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-23 22:09 [LARTC] Prioritizing forwarded traffic over locally generated traffic Neil Greatorex
2004-09-23 22:34 ` Jason Boxman
2004-09-24  5:35 ` kraquen [this message]
2004-09-24 16:55 ` Neil Greatorex
2004-09-24 17:07 ` Jason Boxman
2004-10-07  3:50 ` Alexander Samad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4153B22E.1020205@kraquen.com \
    --to=kraquen@kraquen.com \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.