Re: netem with prio hangs on duplicate

Linux Advanced Routing and Traffic Control

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

 



On Wed, 30 Mar 2005 10:05:04 -0800 (PST)
js si <nistnet_user@xxxxxxxxx> wrote:

> hi
> 
> i tried the example given on the examples page to
> duplicate selected traffic like
> 
> tc qdisc add dev eth0 root handle 1: prio
> tc qdisc add dev eth0 parent 1:3 handle 3: netem
> duplicate 40% 
> tc filter add dev eth0 protocol ip parent 1:0 prio 3
> u32 match ip dst 11.0.2.2 flowid 1:3
> 

Try this. qdisc_restart() has a bug. It will spin until packet becomes available, which
is wrong.  This effects both netem and tbf, maybe other qdisc as well.

--- linux-2.6/net/sched/sch_generic.c	2005-03-14 14:30:52.000000000 -0800
+++ tcp-2.6/net/sched/sch_generic.c	2005-04-04 10:28:31.000000000 -0700
@@ -176,10 +176,10 @@ int qdisc_restart(struct net_device *dev
 
 requeue:
 		q->ops->requeue(skb, q);
-		netif_schedule(dev);
-		return 1;
+		netif_schedule(dev);	
+		return q->q.qlen;
 	}
-	return q->q.qlen;
+	return 0;
 }
 
 static void dev_watchdog(unsigned long arg)
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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