diff options
| -rw-r--r-- | drivers/net/vxlan/vxlan_core.c | 30 | 
1 files changed, 16 insertions, 14 deletions
| diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index ba319fc21957..c9e4e03ad214 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -1766,8 +1766,8 @@ static int vxlan_rcv(struct sock *sk, struct sk_buff *skb)  	skb_reset_network_header(skb);  	if (!vxlan_ecn_decapsulate(vs, oiph, skb)) { -		++vxlan->dev->stats.rx_frame_errors; -		++vxlan->dev->stats.rx_errors; +		DEV_STATS_INC(vxlan->dev, rx_frame_errors); +		DEV_STATS_INC(vxlan->dev, rx_errors);  		vxlan_vnifilter_count(vxlan, vni, vninode,  				      VXLAN_VNI_STATS_RX_ERRORS, 0);  		goto drop; @@ -1837,7 +1837,9 @@ static int arp_reduce(struct net_device *dev, struct sk_buff *skb, __be32 vni)  		goto out;  	if (!pskb_may_pull(skb, arp_hdr_len(dev))) { -		dev->stats.tx_dropped++; +		dev_core_stats_tx_dropped_inc(dev); +		vxlan_vnifilter_count(vxlan, vni, NULL, +				      VXLAN_VNI_STATS_TX_DROPS, 0);  		goto out;  	}  	parp = arp_hdr(skb); @@ -1893,7 +1895,7 @@ static int arp_reduce(struct net_device *dev, struct sk_buff *skb, __be32 vni)  		reply->pkt_type = PACKET_HOST;  		if (netif_rx(reply) == NET_RX_DROP) { -			dev->stats.rx_dropped++; +			dev_core_stats_rx_dropped_inc(dev);  			vxlan_vnifilter_count(vxlan, vni, NULL,  					      VXLAN_VNI_STATS_RX_DROPS, 0);  		} @@ -2052,7 +2054,7 @@ static int neigh_reduce(struct net_device *dev, struct sk_buff *skb, __be32 vni)  			goto out;  		if (netif_rx(reply) == NET_RX_DROP) { -			dev->stats.rx_dropped++; +			dev_core_stats_rx_dropped_inc(dev);  			vxlan_vnifilter_count(vxlan, vni, NULL,  					      VXLAN_VNI_STATS_RX_DROPS, 0);  		} @@ -2263,7 +2265,7 @@ static void vxlan_encap_bypass(struct sk_buff *skb, struct vxlan_dev *src_vxlan,  				      len);  	} else {  drop: -		dev->stats.rx_dropped++; +		dev_core_stats_rx_dropped_inc(dev);  		vxlan_vnifilter_count(dst_vxlan, vni, NULL,  				      VXLAN_VNI_STATS_RX_DROPS, 0);  	} @@ -2295,7 +2297,7 @@ static int encap_bypass_if_local(struct sk_buff *skb, struct net_device *dev,  					   addr_family, dst_port,  					   vxlan->cfg.flags);  		if (!dst_vxlan) { -			dev->stats.tx_errors++; +			DEV_STATS_INC(dev, tx_errors);  			vxlan_vnifilter_count(vxlan, vni, NULL,  					      VXLAN_VNI_STATS_TX_ERRORS, 0);  			kfree_skb(skb); @@ -2559,7 +2561,7 @@ out_unlock:  	return;  drop: -	dev->stats.tx_dropped++; +	dev_core_stats_tx_dropped_inc(dev);  	vxlan_vnifilter_count(vxlan, vni, NULL, VXLAN_VNI_STATS_TX_DROPS, 0);  	dev_kfree_skb(skb);  	return; @@ -2567,11 +2569,11 @@ drop:  tx_error:  	rcu_read_unlock();  	if (err == -ELOOP) -		dev->stats.collisions++; +		DEV_STATS_INC(dev, collisions);  	else if (err == -ENETUNREACH) -		dev->stats.tx_carrier_errors++; +		DEV_STATS_INC(dev, tx_carrier_errors);  	dst_release(ndst); -	dev->stats.tx_errors++; +	DEV_STATS_INC(dev, tx_errors);  	vxlan_vnifilter_count(vxlan, vni, NULL, VXLAN_VNI_STATS_TX_ERRORS, 0);  	kfree_skb(skb);  } @@ -2604,7 +2606,7 @@ static void vxlan_xmit_nh(struct sk_buff *skb, struct net_device *dev,  	return;  drop: -	dev->stats.tx_dropped++; +	dev_core_stats_tx_dropped_inc(dev);  	vxlan_vnifilter_count(netdev_priv(dev), vni, NULL,  			      VXLAN_VNI_STATS_TX_DROPS, 0);  	dev_kfree_skb(skb); @@ -2642,7 +2644,7 @@ static netdev_tx_t vxlan_xmit_nhid(struct sk_buff *skb, struct net_device *dev,  	return NETDEV_TX_OK;  drop: -	dev->stats.tx_dropped++; +	dev_core_stats_tx_dropped_inc(dev);  	vxlan_vnifilter_count(netdev_priv(dev), vni, NULL,  			      VXLAN_VNI_STATS_TX_DROPS, 0);  	dev_kfree_skb(skb); @@ -2739,7 +2741,7 @@ static netdev_tx_t vxlan_xmit(struct sk_buff *skb, struct net_device *dev)  			    !is_multicast_ether_addr(eth->h_dest))  				vxlan_fdb_miss(vxlan, eth->h_dest); -			dev->stats.tx_dropped++; +			dev_core_stats_tx_dropped_inc(dev);  			vxlan_vnifilter_count(vxlan, vni, NULL,  					      VXLAN_VNI_STATS_TX_DROPS, 0);  			kfree_skb(skb); | 
