RE: HTB bug?

Linux Advanced Routing and Traffic Control

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

 



Hi,

Thanks for the ideas.  I was pretty sure it was device independant which is why this confused me.   I’ve checked the counter on the iptables rule.  The rule is being hit in both cases.  I’ve used wireshark to capture the output.  It shows the packets are correctly marked in both cases.  However when I look at the counters in tc –s qdisc show dev $dev all the traffic in the wifi case is going to the default bucket, but in the wired case it goes to the correct bucket.  The comments in the script below show the commands I’ve used to test it. Is there anything else I could be missing?  A module not loaded perhaps?  Anyone care to try and reproduce it with the script below?

Russell


From: Anton Danilov [mailto:littlesmilingcloud@xxxxxxxxx] 
Sent: Monday, 5 January 2015 7:59 PM
To: I-Strong, Russell J
Cc: lartc@xxxxxxxxxxxxxxx
Subject: Re: HTB bug?

Hello, Russel.
Traffic control classification is device-type independed. Don't matter what kind of interfaces do you use. So, you have issue somewhere else. Check the actual classify rules and queue discipline and classes of your setup. Also check the actual dscp-value of outgoing packets with tcpdump.

2015-01-05 6:44 GMT+03:00 I-Strong, Russell J <Russell.J.Strong@xxxxxxxxxx>:
I've been experimenting with HTB and have found that it works on a wired Ethernet devices but does not work on wireless devices.
Packets are being correctly classified by the mangle table but are being placed in the default bucket when using wireless.  They
Are placed in the correct bucket when using wired.

The script below shows how to reproduce it.

Any thoughts?  Is this a bug?

Regards,
Russell


#!/bin/bash

# Test command to send EF packets
# ping6 ff02::1%em1 -Q 0xb8

# Test command to send unmarked packets
# ping6 ff02::1%em1

# View packet placement with
# watch tc -s qdisc show dev em1

# Verify ip6tables matching with counters
# watch ip6tables -L -v -n -t mangle

dev=em1
# dev=wlp4s0

tc qdisc add dev ${dev} root handle 1: htb default 12
tc class add dev ${dev} parent 1:  classid 1:1  htb rate 100.0mbit ceil 100.0mbit
tc class add dev ${dev} parent 1:1 classid 1:11 htb rate 40.0mbit ceil 100.0mbit prio 1
tc qdisc add dev ${dev} parent 1:11 handle 111: pfifo limit 1000
tc class add dev ${dev} parent 1:1 classid 1:12 htb rate 40.0mbit ceil 100.0mbit prio 2
tc qdisc add dev ${dev} parent 1:12 handle 112: pfifo limit 1000

ip6tables -t mangle -A POSTROUTING -o ${dev} -m dscp --dscp-class ef -j CLASSIFY --set-class 1:11
--
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



-- 
Anton.
��.n��������+%������w��{.n����j�\�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




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