help tc filter map key mark

Linux Advanced Routing and Traffic Control

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

 



Hi, i am trying to use the map key mark filter in a NAT enviroment to
avoid one single person to take all bandwidth.
Basically what i am doing is redirecting all ip traffic to one ifb
device and marking the packets using different marks per ip address
and using tc filter with map key mark.


DOWNLINK=3072
EXTDEV=pppoe-wan

iptables -t mangle -N QOS
iptables -t mangle -A FORWARD -o $EXTDEV -j QOS
iptables -t mangle -A OUTPUT -o $EXTDEV -j QOS
iptables -t mangle -A QOS -j CONNMARK --restore-mark --nfmask 0xff --ctmask 0xff

for i in 1 2 3 4 5 ; do
iptables -t mangle -A QOS -s 192.168.0.$i -m mark --mark 0x0/0xff  -j
MARK  --set-xmark $i/0xff
done

iptables -t mangle -A QOS -m mark --mark 0x0/0xff -j MARK  --set-xmark 200/0xff

tc qdisc add dev ifb0 iptables -t mangle -A QOS -j CONNMARK
--save-mark --nfmask 0xff --ctmask 0xff


tc qdisc add dev ifb0 root handle 1: htb default 1 r2q 1
tc class add dev ifb0 parent 1: classid 1:1 htb rate ${DOWNLINK}kbit
quantum 1500
tc qdisc add dev ifb0 parent 1:1 handle 1 fq_codel quantum 300 noecn
tc filter add dev ifb0 parent 1: handle 1 protocol ip flow divisor 256
map key mark and 0xff



>From the snippet above, i would expect that 192.168.0.[1-5] would get
marks 1..5 and all others ips would get mark 200. This appears to be
working correctly, since if i manually add one tc filter rule using
the correctly flowid , the traffic will go to the correctly queue. The
problem is that apparently if i am creating the filter using the 'tc
.. map key mark and 0xff' every new connection is going in a different
class . I'd expect that if i start a parallel download from the
192.168.0.1 i would only see one single class created by codel,
instead of one class per connection, since all these connections are
marked with mark 1/0xff

Any help about what am i doing wrong?




[]'s
Salatiel
--
To unsubscribe from this list: send the line "unsubscribe lartc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



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