diff options
author | Robert Olsson <robert.olsson@its.uu.se> | 2008-08-05 18:44:26 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-05 18:44:26 -0700 |
commit | 1211a64554065316e02b3c62b320088ad4f63260 (patch) | |
tree | 58522cdfcd5ee11409f39f32135234a28c883095 | |
parent | ef647f1300d69adb8223d970554d59d7e244db6d (diff) | |
download | lwn-1211a64554065316e02b3c62b320088ad4f63260.tar.gz lwn-1211a64554065316e02b3c62b320088ad4f63260.zip |
pktgen: random flow
Random flow generation has not worked. This fixes it.
Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/pktgen.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 3284605f2ec7..9c87320fdf3f 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -2085,15 +2085,19 @@ static inline int f_pick(struct pktgen_dev *pkt_dev) if (pkt_dev->flows[flow].count >= pkt_dev->lflow) { /* reset time */ pkt_dev->flows[flow].count = 0; + pkt_dev->flows[flow].flags = 0; pkt_dev->curfl += 1; if (pkt_dev->curfl >= pkt_dev->cflows) pkt_dev->curfl = 0; /*reset */ } } else { flow = random32() % pkt_dev->cflows; + pkt_dev->curfl = flow; - if (pkt_dev->flows[flow].count > pkt_dev->lflow) + if (pkt_dev->flows[flow].count > pkt_dev->lflow) { pkt_dev->flows[flow].count = 0; + pkt_dev->flows[flow].flags = 0; + } } return pkt_dev->curfl; |