Re: Bi-directional packet classification with ACK prioritization

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

 



* Eliot, Wireless and Server Administrator, Great Lakes Internet wrote,
On 02/06/06 18:06:
> Sorry for making this a cross-post, but the pressure is on for getting
> this bandwidth shaper working.
> 
> I have an interesting dilemma with bi-directional packet classification
> while doing ACK prioritization. This is an overly simplified summary of
> my setup:
> 
> Internet
>   |
> Eth0 
>   |
>   Router
>   |
> Eth1
>   |
> Intranet
> 
> 
> A client on the Intranet establishes a flow to a server on the Internet.
> Packets get classified into 3 different priority bands. Priority 1 is
> for VoIP, DNS, SSH, Telnet, and ACK packets with no data payload.
> Priority 2 is for general traffic that does not fall into band 1 or band
> 3. Priority 3 band is for P2P. 
> 
> When the flow (download) is established, it starts out with the packets
> coming in on Priority Band 2. 
> 
> The client then sends an ACK packet to the server with no data payload. 
> 
> The router then classifies that ACK packet into Priority Band 1 and
> saves the mark that was set to put it in that classification. 
> 
> A response then comes back from the server and the router restores the
> mark it previously saved. Now it is flagged for Priority Band 1. 

I got round this by editing connmark and adding 2 more marks, one for
each direction. When connmark is set, in the conntrack it sets that mark
in the usual place and also in the slot for the current direction.

When the conntrack is used to populate the skb mark, I take the current
direction.

So I get the best of both worlds.

Sam



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux