want to randomly drop packets based on percent

From: George Nychis
Date: Mon Apr 17 2006 - 03:37:37 EST


Hey,

I'm using the 2.4.32 kernel with madwifi and iproute2 version 2-2.6.16-060323.tar.gz

I wanted to insert artificial packet loss based on a percent so i found:
network emulab qdisc could do it, so i compiled support into the kernel and tried:
tc qdisc change dev eth0 root netem loss .1%

however i keep getting the error
RTNETLINK answer: Invalid argument

I am not sure how to go about solving this problem for now, so if anyone has any suggestions i'd greatly appreciate it.

I really only need to drop random packets being forwarded through ip_forward ... however randomly dropping any packet based on a % is sufficient so I figured netem would be great.

So in the meantime I figured I would try to insert packet loss in ip_forward.c by generating a random number and dropping based on that. I could goto drop; depending on the number in the function int ip_forward(struct sk_buff *skb)

But then I ran into the problem of properly seeding the random number generator... srand(time(0)) is one way... however time() returns seconds, therefore i would drop multiple packets in a single second if I used this method which is very undesirable. What is the proper way to generate a random number here?

Thanks!
George
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/