traffic generation for multiple flows
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Flowgrind |
Fix Committed
|
Low
|
Unassigned |
Bug Description
When I run two flows with specific reponse size, the second flow doesn't transfer instructed data. When I run tcpdump, it shows that the second flow always transfer 8 segments. It doesn't matter OS although I tried FreeBSD and Linux.
What I understand is that the controller read data size correctly but the daemon doesn't seems to recognize data size. Although I tried to debug flowgrind, I couldn't understand how to debug daemon.
I show one of examples as below. Please fix it.
$ ./src/flowgrind -n 2 -F 0 -Q -G s=q,C,2000000 -G s=g,C,10 -A s -F 1 -G s=q,C,2000000 -G s=g,C,10 -Q -A s
# Thu Aug 15 15:29:44 2013: controlling host = shiro, number of flows = 2, reporting interval = 0.05s, [through] = 10**6 bit/second (flowgrind-
# 0 S: localhost, random seed: 2114670480, sbuf = 16384/0, rbuf = 87380/0 (real/req), SMSS = 16364, Path MTU = 16436, flow duration = 10.014s/10.000s (real/req), through = 1.597768/
# 0 D: localhost, random seed: 2114670480, sbuf = 16384/0, rbuf = 87380/0 (real/req), SMSS = 16364, Path MTU = 16436, through = 0.000019/
# 1 S: localhost, random seed: 2065275323, sbuf = 16384/0, rbuf = 87380/0 (real/req), SMSS = 16364, Path MTU = 16436, flow duration = 10.015s/10.000s (real/req), through = 0.006544/
# 1 D: localhost, random seed: 2065275323, sbuf = 16384/0, rbuf = 87380/0 (real/req), SMSS = 16364, Path MTU = 16436, through = 0.000019/
Finally, I find the cause. Commit diff.
$ git diff
diff --git a/src/flowgrind.c b/src/flowgrind.c
index a99f940..11c64e5 100644
--- a/src/flowgrind.c
+++ b/src/flowgrind.c
@@ -2153,7 +2153,7 @@ static void parse_cmdline(int argc, char **argv) {
- id = 0;
+