Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Oct 2004 15:42:31 -0700
From:      "Jacob S. Barrett" <jbarrett@amduat.net>
To:        freebsd-ipfw@freebsd.org
Subject:   Re: Pipes, Queus and Mask
Message-ID:  <200410221542.31883.jbarrett@amduat.net>
In-Reply-To: <200410221357.39435.jbarrett@amduat.net>
References:  <200410221357.39435.jbarrett@amduat.net>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Friday 22 October 2004 01:57 pm, "Jacob S. Barrett" <jbarrett@amduat.net> 
wrote:
> I am a little confused around the working in the man page:
>          queue   A queue is an abstraction used to implement the WF2Q+
> (Worst- case Fair Weighted Fair Queueing) policy, which is an effi- cient
> variant of the WFQ policy.
>                  The queue associates a weight and a reference pipe to each
>                  flow, and then all backlogged (i.e., with packets queued)
>                  flows linked to the same pipe share the pipe's bandwidth
> pro- portionally to their weights.  Note that weights are not pri- orities;
> a flow with a lower weight is still guaranteed to get its fraction of the
> bandwidth even if a flow with a higher weight is permanently backlogged.
>
> If I have a queue with a mask on src-ip.  I understand that each dynamic
> queue will share the same weight and the same pipe.  My confusion comes
> when I want to have dynamic pipes masked on the src-ip as well.  If the
> queue is tied to this pipe will all dynamic queues flow into matching
> dynamic pipes?  The reason I as this question is that when I configure this
> I see the dynamic queue created, but not the dynamic pipe.  Also the
> bandwidth appears to be shared as though they are sharing the same pipe. 
> Is it correct to say that if a masking queue is linked to a masking pipe
> that all flows will go through a dynamic queue and then will share the same
> pipe and no dynamic pipes will be created?

I figured I better include an example config:

ipfw pipe 1 config bw 128kbps mask src-ip 0x000000ff buckets 2565
ipfw queue 1 config pipe 1 mask srp-ip 0x000000ff buckets 256
ipfw pipe 2 config bw 1500kbps mask dst-ip 0x000000ff buckets 256
ipfw queue 2 config pipe 2 mask dst-ip 0x000000ff buckets 256
ipfw add queue 1 all from any to any out via ng0
ipfw add queue 2 all from any to any in via ng0

00001: 128.000 Kbit/s    0 ms    5 sl. 0 queues (256 buckets) droptail
    mask: 0x00 0x000000ff/0x0000 -> 0x00000000/0x0000
00002:   1.500 Mbit/s    0 ms    5 sl. 0 queues (256 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x000000ff/0x0000
q00001: weight 1 pipe 1    5 sl. 4 queues (256 buckets) droptail
    mask: 0x00 0x000000ff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte 
Drp
143 ip          0.0.0.91/0             0.0.0.0/0     60186  6077130  0    0 
10063
223 ip         0.0.0.243/0             0.0.0.0/0      227    16953  0    0   0
237 ip         0.0.0.234/0             0.0.0.0/0      549   113319  0    0   0
239 ip         0.0.0.235/0             0.0.0.0/0     16336   761792  0    0  
37
q00002: weight 1 pipe 2    5 sl. 4 queues (256 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x000000ff/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte 
Drp
 40 ip           0.0.0.0/0            0.0.0.91/0     76970 54572437  0    0 
1309
 57 ip           0.0.0.0/0            0.0.0.74/0      179    12343  0    0   0
152 ip           0.0.0.0/0           0.0.0.235/0     29130 42567650  0    0 
609
153 ip           0.0.0.0/0           0.0.0.234/0      922   172001  0    0   2

As you can see there are no dynamic pipes created.  Is this expected behavior?

-- 
Jacob S. Barrett
jbarrett@amduat.net
www.amduat.net

"I don't suffer from insanity, I enjoy every minute of it."



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?200410221542.31883.jbarrett>