Delaying packets on purpose

Fabio Olive leite (olive@inf.ufrgs.br)
Tue, 3 Aug 1999 16:54:20 -0300 (EST)


Hi there,

I'm implementing a communication fault injection tool on Linux, it's
basically a layer that intercepts packets around dev_queue_xmit and
netif_rx and allows you to introduce faults at will.

One of its abilities is to delay packets a certain amount of time, to
simulate timing problems, network congestion, etc. At the moment, when a
certain packet is selected to be delayed, I set the skb->stamp values to
be xtime plus a certain amount of milliseconds, so that I can later test
if xtime is greater than the skb->stamp and then send the packet.

The routine that intercepts dev_queue_xmit puts the packets that should be
delayed on a sk_buff_head, and then I inserted code on timer_bh to check
the queue for possible transmitions.

Is this whole thing wrong? I mean, up to now I can only get delayed
crashes. It's interesting that even a call to skb_unlink inside timer_bh
crashes the system... what could be wrong? Can anyone suggest a better
approach to delaying packets at will?

I'm doing this on 2.2.9. Thanks for any comments, and please CC to me as
I'm not on the list.

Fábio
( Fábio Olivé Leite olive@inf.ufrgs.br )
( http://descartes.ucpel.tche.br/~olive )
( Quero escapar para o meta-nível! )

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/