All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] netem with prio hangs on duplicate
@ 2005-03-30 18:05 js si
  2005-04-03 14:03 ` Patrick McHardy
  2005-04-04 18:00 ` Stephen Hemminger
  0 siblings, 2 replies; 3+ messages in thread
From: js si @ 2005-03-30 18:05 UTC (permalink / raw)
  To: lartc

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

when i ping from 11.0.2.2 to this interface my machine
hangs. the same thing works for drop or delay. 

i would appreciate if someone can tell me what i am
doing wrong. 

thanks. 


		
__________________________________ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/ 
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LARTC] netem with prio hangs on duplicate
  2005-03-30 18:05 [LARTC] netem with prio hangs on duplicate js si
@ 2005-04-03 14:03 ` Patrick McHardy
  2005-04-04 18:00 ` Stephen Hemminger
  1 sibling, 0 replies; 3+ messages in thread
From: Patrick McHardy @ 2005-04-03 14:03 UTC (permalink / raw)
  To: lartc

js si 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
> 
> when i ping from 11.0.2.2 to this interface my machine
> hangs. the same thing works for drop or delay. 
> 
> i would appreciate if someone can tell me what i am
> doing wrong.

Using netem with an upper qdisc screws up the upper qdisc's
q.qlen counter and qdisc_run() tries to dequeue it indefinitely.
I don't know whether netem is intended to be useable only as
top-level qdisc, if so it should make sure that it really is
used this way to avoid hanging the system.

Regards
Patrick
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LARTC] netem with prio hangs on duplicate
  2005-03-30 18:05 [LARTC] netem with prio hangs on duplicate js si
  2005-04-03 14:03 ` Patrick McHardy
@ 2005-04-04 18:00 ` Stephen Hemminger
  1 sibling, 0 replies; 3+ messages in thread
From: Stephen Hemminger @ 2005-04-04 18:00 UTC (permalink / raw)
  To: lartc

On Wed, 30 Mar 2005 10:05:04 -0800 (PST)
js si <nistnet_user@yahoo.com> 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@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-04-04 18:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-30 18:05 [LARTC] netem with prio hangs on duplicate js si
2005-04-03 14:03 ` Patrick McHardy
2005-04-04 18:00 ` Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.