Re: doubt about esfq

Linux Advanced Routing and Traffic Control

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

 



Salatiel Filho wrote:
> In esfq README i have:
> 
> Depth sets the number of slots. If the number of active flows is greater
>    than the number of slots, flows will end up sharing slots and ESFQ will no
>    longer be fair. If you anticipate more than 128 concurrently active flows,
>    you should use a larger depth and probably a larger divisor (see below).
> 
>    If you expect there to be far fewer than 128 concurrent flows, you may
>    want to use a lower depth in order to benefit from slightly better latency
>    (because limit can then be lower as well).
> 
> 
> 
> I am just curious, 128 active flows would mean [in ESFQ] 128 different
> IPs if i hash for ip dst ? or would it be 128 connections.
> For example let`s say i download from my machine using some download
> accelerator and put 128 parallel connections[ theorically of course :)
> ] , so  would i be using all slots or just one ?

Maybe. I had to re-read your message a couple times, and I'm not sure I
completely understand your question. In any case, you didn't specify
whether you are using ESFQ on the LAN interface or the WAN interface of
your router.

Scenario 1: downloading from 128 different IPs
  hash dst on LAN interface:
    puts all packets in a single slot--after all, the destination IP is
    that of your workstation. This approach would only be useful if
    other workstations on your LAN were downloading as well, since their
    packets would go in other slots.
  hash dst on WAN interface:
    divides packets into 128 different slots[1], since the destination
    IPs are those of the servers from which you are downloading. Note,
    however, that if you're only downloading, these packets would be
    "empty ACKs", which are quite small. Unless your upstream bandwidth
    is severely limited (or in heavy use for other reasons), the ACK
    packets would not need any special consideration. This approach is
    more useful for if you are actually uploading data and you want the
    outbound traffic to be allocated fairly among the remote hosts.

Scenario 2: downloading from one IP, with 128 connections
  hash dst on LAN interface:
    puts all packets on a single slot (same as in scenario 1).
  hash dst on WAN interface:
    puts all packets in a single slot, since there is only one remote
    host to which the packets are going.


>From what I've written, you may gather that using "hash dst" is not of
much use for distributing inbound traffic to a single workstation. If
that is really what you need to do, then you can look into "hash src".


[1] This is subject to the limitations of the hash function, and there
may be collisions that result in slots being shared. See the "divisor"
and "perturb" parameters.

-Corey
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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