forked from mirrors/linux
		
	macvlan: unify macvlan_pcpu_stats and vlan_pcpu_stats
They are same, so unify them as one; since macvlan is a kind of vlan, vlan_pcpu_stats should be a proper name for vlan and macvlan. Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									8f84985fec
								
							
						
					
					
						commit
						cdf3e274cf
					
				
					 2 changed files with 7 additions and 28 deletions
				
			
		| 
						 | 
					@ -305,7 +305,7 @@ static netdev_tx_t macvlan_start_xmit(struct sk_buff *skb,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (likely(ret == NET_XMIT_SUCCESS || ret == NET_XMIT_CN)) {
 | 
						if (likely(ret == NET_XMIT_SUCCESS || ret == NET_XMIT_CN)) {
 | 
				
			||||||
		struct macvlan_pcpu_stats *pcpu_stats;
 | 
							struct vlan_pcpu_stats *pcpu_stats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		pcpu_stats = this_cpu_ptr(vlan->pcpu_stats);
 | 
							pcpu_stats = this_cpu_ptr(vlan->pcpu_stats);
 | 
				
			||||||
		u64_stats_update_begin(&pcpu_stats->syncp);
 | 
							u64_stats_update_begin(&pcpu_stats->syncp);
 | 
				
			||||||
| 
						 | 
					@ -545,12 +545,12 @@ static int macvlan_init(struct net_device *dev)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	macvlan_set_lockdep_class(dev);
 | 
						macvlan_set_lockdep_class(dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	vlan->pcpu_stats = alloc_percpu(struct macvlan_pcpu_stats);
 | 
						vlan->pcpu_stats = alloc_percpu(struct vlan_pcpu_stats);
 | 
				
			||||||
	if (!vlan->pcpu_stats)
 | 
						if (!vlan->pcpu_stats)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for_each_possible_cpu(i) {
 | 
						for_each_possible_cpu(i) {
 | 
				
			||||||
		struct macvlan_pcpu_stats *mvlstats;
 | 
							struct vlan_pcpu_stats *mvlstats;
 | 
				
			||||||
		mvlstats = per_cpu_ptr(vlan->pcpu_stats, i);
 | 
							mvlstats = per_cpu_ptr(vlan->pcpu_stats, i);
 | 
				
			||||||
		u64_stats_init(&mvlstats->syncp);
 | 
							u64_stats_init(&mvlstats->syncp);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -576,7 +576,7 @@ static struct rtnl_link_stats64 *macvlan_dev_get_stats64(struct net_device *dev,
 | 
				
			||||||
	struct macvlan_dev *vlan = netdev_priv(dev);
 | 
						struct macvlan_dev *vlan = netdev_priv(dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (vlan->pcpu_stats) {
 | 
						if (vlan->pcpu_stats) {
 | 
				
			||||||
		struct macvlan_pcpu_stats *p;
 | 
							struct vlan_pcpu_stats *p;
 | 
				
			||||||
		u64 rx_packets, rx_bytes, rx_multicast, tx_packets, tx_bytes;
 | 
							u64 rx_packets, rx_bytes, rx_multicast, tx_packets, tx_bytes;
 | 
				
			||||||
		u32 rx_errors = 0, tx_dropped = 0;
 | 
							u32 rx_errors = 0, tx_dropped = 0;
 | 
				
			||||||
		unsigned int start;
 | 
							unsigned int start;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
#define _LINUX_IF_MACVLAN_H
 | 
					#define _LINUX_IF_MACVLAN_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <linux/if_link.h>
 | 
					#include <linux/if_link.h>
 | 
				
			||||||
 | 
					#include <linux/if_vlan.h>
 | 
				
			||||||
#include <linux/list.h>
 | 
					#include <linux/list.h>
 | 
				
			||||||
#include <linux/netdevice.h>
 | 
					#include <linux/netdevice.h>
 | 
				
			||||||
#include <linux/netlink.h>
 | 
					#include <linux/netlink.h>
 | 
				
			||||||
| 
						 | 
					@ -24,28 +25,6 @@ static inline struct socket *macvtap_get_socket(struct file *f)
 | 
				
			||||||
struct macvlan_port;
 | 
					struct macvlan_port;
 | 
				
			||||||
struct macvtap_queue;
 | 
					struct macvtap_queue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 *	struct macvlan_pcpu_stats - MACVLAN percpu stats
 | 
					 | 
				
			||||||
 *	@rx_packets: number of received packets
 | 
					 | 
				
			||||||
 *	@rx_bytes: number of received bytes
 | 
					 | 
				
			||||||
 *	@rx_multicast: number of received multicast packets
 | 
					 | 
				
			||||||
 *	@tx_packets: number of transmitted packets
 | 
					 | 
				
			||||||
 *	@tx_bytes: number of transmitted bytes
 | 
					 | 
				
			||||||
 *	@syncp: synchronization point for 64bit counters
 | 
					 | 
				
			||||||
 *	@rx_errors: number of rx errors
 | 
					 | 
				
			||||||
 *	@tx_dropped: number of tx dropped packets
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
struct macvlan_pcpu_stats {
 | 
					 | 
				
			||||||
	u64			rx_packets;
 | 
					 | 
				
			||||||
	u64			rx_bytes;
 | 
					 | 
				
			||||||
	u64			rx_multicast;
 | 
					 | 
				
			||||||
	u64			tx_packets;
 | 
					 | 
				
			||||||
	u64			tx_bytes;
 | 
					 | 
				
			||||||
	struct u64_stats_sync	syncp;
 | 
					 | 
				
			||||||
	u32			rx_errors;
 | 
					 | 
				
			||||||
	u32			tx_dropped;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Maximum times a macvtap device can be opened. This can be used to
 | 
					 * Maximum times a macvtap device can be opened. This can be used to
 | 
				
			||||||
 * configure the number of receive queue, e.g. for multiqueue virtio.
 | 
					 * configure the number of receive queue, e.g. for multiqueue virtio.
 | 
				
			||||||
| 
						 | 
					@ -62,7 +41,7 @@ struct macvlan_dev {
 | 
				
			||||||
	struct macvlan_port	*port;
 | 
						struct macvlan_port	*port;
 | 
				
			||||||
	struct net_device	*lowerdev;
 | 
						struct net_device	*lowerdev;
 | 
				
			||||||
	void			*fwd_priv;
 | 
						void			*fwd_priv;
 | 
				
			||||||
	struct macvlan_pcpu_stats __percpu *pcpu_stats;
 | 
						struct vlan_pcpu_stats __percpu *pcpu_stats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	DECLARE_BITMAP(mc_filter, MACVLAN_MC_FILTER_SZ);
 | 
						DECLARE_BITMAP(mc_filter, MACVLAN_MC_FILTER_SZ);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,7 +63,7 @@ static inline void macvlan_count_rx(const struct macvlan_dev *vlan,
 | 
				
			||||||
				    bool multicast)
 | 
									    bool multicast)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (likely(success)) {
 | 
						if (likely(success)) {
 | 
				
			||||||
		struct macvlan_pcpu_stats *pcpu_stats;
 | 
							struct vlan_pcpu_stats *pcpu_stats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		pcpu_stats = this_cpu_ptr(vlan->pcpu_stats);
 | 
							pcpu_stats = this_cpu_ptr(vlan->pcpu_stats);
 | 
				
			||||||
		u64_stats_update_begin(&pcpu_stats->syncp);
 | 
							u64_stats_update_begin(&pcpu_stats->syncp);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue