diff options
Diffstat (limited to 'drivers/net/hyperv/hyperv_net.h')
| -rw-r--r-- | drivers/net/hyperv/hyperv_net.h | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h index 262b2ea576a3..d6c25580f8dd 100644 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h @@ -146,7 +146,6 @@ struct hv_netvsc_packet {  struct netvsc_device_info {  	unsigned char mac_adr[ETH_ALEN]; -	bool link_state;	/* 0 - link up, 1 - link down */  	int  ring_size;  	u32  max_num_vrss_chns;  	u32  num_chn; @@ -165,12 +164,16 @@ struct rndis_device {  	struct net_device *ndev;  	enum rndis_device_state state; -	bool link_state; +  	atomic_t new_req_id;  	spinlock_t request_lock;  	struct list_head req_list; +	struct work_struct mcast_work; + +	bool link_state;        /* 0 - link up, 1 - link down */ +  	u8 hw_mac_adr[ETH_ALEN];  	u8 rss_key[NETVSC_HASH_KEYLEN];  	u16 ind_table[ITAB_NUM]; @@ -201,6 +204,7 @@ int rndis_filter_open(struct netvsc_device *nvdev);  int rndis_filter_close(struct netvsc_device *nvdev);  int rndis_filter_device_add(struct hv_device *dev,  			    struct netvsc_device_info *info); +void rndis_filter_update(struct netvsc_device *nvdev);  void rndis_filter_device_remove(struct hv_device *dev,  				struct netvsc_device *nvdev);  int rndis_filter_set_rss_param(struct rndis_device *rdev, @@ -211,7 +215,6 @@ int rndis_filter_receive(struct net_device *ndev,  			 struct vmbus_channel *channel,  			 void *data, u32 buflen); -int rndis_filter_set_packet_filter(struct rndis_device *dev, u32 new_filter);  int rndis_filter_set_device_mac(struct net_device *ndev, char *mac);  void netvsc_switch_datapath(struct net_device *nv_dev, bool vf); @@ -696,7 +699,6 @@ struct net_device_context {  	/* list protection */  	spinlock_t lock; -	struct work_struct work;  	u32 msg_enable; /* debug level */  	u32 tx_checksum_mask; @@ -715,6 +717,8 @@ struct net_device_context {  	u32 vf_alloc;  	/* Serial number of the VF to team with */  	u32 vf_serial; + +	bool datapath;	/* 0 - synthetic, 1 - VF nic */  };  /* Per channel data */ @@ -763,8 +767,7 @@ struct netvsc_device {  	refcount_t sc_offered; -	/* Holds rndis device info */ -	void *extension; +	struct rndis_device *extension;  	int ring_size; | 
