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

Commit f466dba1 authored by John Fastabend's avatar John Fastabend Committed by David S. Miller
Browse files

pktgen: ndo_start_xmit can return NET_XMIT_xxx values



This updates pktgen so that it does not decrement skb->users
when it receives valid NET_XMIT_xxx values.  These are now
valid return values from ndo_start_xmit in net-next-2.6.
They also indicate the skb has been consumed.

This fixes pktgen to work correctly with vlan devices.

Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c0d7a021
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -250,8 +250,7 @@ struct pktgen_dev {
	__u64 count;		/* Default No packets to send */
	__u64 sofar;		/* How many pkts we've sent so far */
	__u64 tx_bytes;		/* How many bytes we've transmitted */
	__u64 errors;		/* Errors when trying to transmit,
				   pkts will be re-sent */
	__u64 errors;		/* Errors when trying to transmit, */

	/* runtime counters relating to clone_skb */

@@ -3465,6 +3464,12 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
		pkt_dev->seq_num++;
		pkt_dev->tx_bytes += pkt_dev->last_pkt_size;
		break;
	case NET_XMIT_DROP:
	case NET_XMIT_CN:
	case NET_XMIT_POLICED:
		/* skb has been consumed */
		pkt_dev->errors++;
		break;
	default: /* Drivers are not supposed to return other values! */
		if (net_ratelimit())
			pr_info("pktgen: %s xmit error: %d\n",