Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9eea9222 authored by Alexei Starovoitov's avatar Alexei Starovoitov Committed by David S. Miller
Browse files

pktgen: fix packet generation



pkt_gen->last_ok was not set properly, so after the first burst
pktgen instead of allocating new packet, will reuse old one, advance
eth_type_trans further, which would mean the stack will be seeing very
short bogus packets.

Fixes: 62f64aed ("pktgen: introduce xmit_mode '<start_xmit|netif_receive>'")
Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
Acked-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 147ef3e2
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -1189,6 +1189,16 @@ static ssize_t pktgen_if_write(struct file *file,
				return -ENOTSUPP;

			pkt_dev->xmit_mode = M_NETIF_RECEIVE;

			/* make sure new packet is allocated every time
			 * pktgen_xmit() is called
			 */
			pkt_dev->last_ok = 1;

			/* override clone_skb if user passed default value
			 * at module loading time
			 */
			pkt_dev->clone_skb = 0;
		} else {
			sprintf(pg_result,
				"xmit_mode -:%s:- unknown\nAvailable modes: %s",
@@ -3415,7 +3425,6 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
				/* get out of the loop and wait
				 * until skb is consumed
				 */
				pkt_dev->last_ok = 1;
				break;
			}
			/* skb was 'freed' by stack, so clean few