diff options
Diffstat (limited to 'net/core/pktgen.c')
-rw-r--r-- | net/core/pktgen.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 3284605f2ec7..2498cdaf8cbe 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) | |||
2085 | if (pkt_dev->flows[flow].count >= pkt_dev->lflow) { | 2085 | if (pkt_dev->flows[flow].count >= pkt_dev->lflow) { |
2086 | /* reset time */ | 2086 | /* reset time */ |
2087 | pkt_dev->flows[flow].count = 0; | 2087 | pkt_dev->flows[flow].count = 0; |
2088 | pkt_dev->flows[flow].flags = 0; | ||
2088 | pkt_dev->curfl += 1; | 2089 | pkt_dev->curfl += 1; |
2089 | if (pkt_dev->curfl >= pkt_dev->cflows) | 2090 | if (pkt_dev->curfl >= pkt_dev->cflows) |
2090 | pkt_dev->curfl = 0; /*reset */ | 2091 | pkt_dev->curfl = 0; /*reset */ |
2091 | } | 2092 | } |
2092 | } else { | 2093 | } else { |
2093 | flow = random32() % pkt_dev->cflows; | 2094 | flow = random32() % pkt_dev->cflows; |
2095 | pkt_dev->curfl = flow; | ||
2094 | 2096 | ||
2095 | if (pkt_dev->flows[flow].count > pkt_dev->lflow) | 2097 | if (pkt_dev->flows[flow].count > pkt_dev->lflow) { |
2096 | pkt_dev->flows[flow].count = 0; | 2098 | pkt_dev->flows[flow].count = 0; |
2099 | pkt_dev->flows[flow].flags = 0; | ||
2100 | } | ||
2097 | } | 2101 | } |
2098 | 2102 | ||
2099 | return pkt_dev->curfl; | 2103 | return pkt_dev->curfl; |
@@ -2162,7 +2166,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) | |||
2162 | mc = random32() % pkt_dev->src_mac_count; | 2166 | mc = random32() % pkt_dev->src_mac_count; |
2163 | else { | 2167 | else { |
2164 | mc = pkt_dev->cur_src_mac_offset++; | 2168 | mc = pkt_dev->cur_src_mac_offset++; |
2165 | if (pkt_dev->cur_src_mac_offset > | 2169 | if (pkt_dev->cur_src_mac_offset >= |
2166 | pkt_dev->src_mac_count) | 2170 | pkt_dev->src_mac_count) |
2167 | pkt_dev->cur_src_mac_offset = 0; | 2171 | pkt_dev->cur_src_mac_offset = 0; |
2168 | } | 2172 | } |
@@ -2189,7 +2193,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) | |||
2189 | 2193 | ||
2190 | else { | 2194 | else { |
2191 | mc = pkt_dev->cur_dst_mac_offset++; | 2195 | mc = pkt_dev->cur_dst_mac_offset++; |
2192 | if (pkt_dev->cur_dst_mac_offset > | 2196 | if (pkt_dev->cur_dst_mac_offset >= |
2193 | pkt_dev->dst_mac_count) { | 2197 | pkt_dev->dst_mac_count) { |
2194 | pkt_dev->cur_dst_mac_offset = 0; | 2198 | pkt_dev->cur_dst_mac_offset = 0; |
2195 | } | 2199 | } |