Denis Vlasenko wrote:
Hi, As reported earlier, sometimes my home box don't want to send anything. # ip r 1.1.5.5 dev tun0 proto kernel scope link src 1.1.5.6 1.1.4.0/24 dev if proto kernel scope link src 1.1.4.6 default via 1.1.5.5 dev tun0 # ping 1.1.4.1 -i 0.01
2005-08-02_19:12:18.19551 kern.info: qdisc_restart: start, q->dequeue=c03e8662 2005-08-02_19:12:19.19536 kern.info: qdisc_restart: start, q->dequeue=c03e8662 System.map: c03e8662 t noop_dequeue I guess this explains why I do not see calls to pfifo_fast_dequeue! :) But how come my interface is using noop queue, is a mystery to me.
Because link is down. Or at least the kernel thinks so.
# ip l 1: if: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0a:e6:7c:dd:79 brd ff:ff:ff:ff:ff:ff 2: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 17: tun0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1464 qdisc pfifo_fast qlen 100 link/[65534] As you can see, ip l reports that iface 'if' uses pfifo_fast, not noop...
Yeah, a bit confusing. pfifo_fast is the *configured* qdisc, but in this case it is not the *active* qdisc. The qdisc is set to noop when carrier is lost.
Any ideas?
Try tracking the calls to netif_carrier_on/off. -Tommy - : send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html