mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-30 19:06:14 +00:00
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: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c0d7a0212b
commit
f466dba183
1 changed files with 7 additions and 2 deletions
|
@ -250,8 +250,7 @@ struct pktgen_dev {
|
||||||
__u64 count; /* Default No packets to send */
|
__u64 count; /* Default No packets to send */
|
||||||
__u64 sofar; /* How many pkts we've sent so far */
|
__u64 sofar; /* How many pkts we've sent so far */
|
||||||
__u64 tx_bytes; /* How many bytes we've transmitted */
|
__u64 tx_bytes; /* How many bytes we've transmitted */
|
||||||
__u64 errors; /* Errors when trying to transmit,
|
__u64 errors; /* Errors when trying to transmit, */
|
||||||
pkts will be re-sent */
|
|
||||||
|
|
||||||
/* runtime counters relating to clone_skb */
|
/* 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->seq_num++;
|
||||||
pkt_dev->tx_bytes += pkt_dev->last_pkt_size;
|
pkt_dev->tx_bytes += pkt_dev->last_pkt_size;
|
||||||
break;
|
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! */
|
default: /* Drivers are not supposed to return other values! */
|
||||||
if (net_ratelimit())
|
if (net_ratelimit())
|
||||||
pr_info("pktgen: %s xmit error: %d\n",
|
pr_info("pktgen: %s xmit error: %d\n",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue