03 Oct, 2012
1 commit
-
The existing code always reports NVSP_STAT_SUCCESS. This patch adds the
mechanism to report failure when it happens.Signed-off-by: Haiyang Zhang
Reviewed-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
15 Aug, 2012
1 commit
-
I believe net/core/dev.c is a better place for netif_notify_peers(),
because other net event notify functions also stay in this file.And rename it to netdev_notify_peers().
Cc: David S. Miller
Cc: Ian Campbell
Signed-off-by: Cong Wang
Signed-off-by: David S. Miller
26 Jul, 2012
1 commit
-
It prevents ring_size being set to a too small value.
Reported-by: Jason Wang
Signed-off-by: Haiyang Zhang
Reviewed-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
17 Jul, 2012
1 commit
-
This adds support for setting synthetic NIC MAC address from within Linux
guests. Before using this feature, the option "spoofing of MAC address"
should be enabled at the Hyper-V manager / Settings of the synthetic
NIC.Thanks to Kin Cho for the initial implementation and
tests. And, thanks to Long Li for the debugging
works.Reported-and-tested-by: Kin Cho
Reported-by: Long Li
Signed-off-by: Haiyang Zhang
Reviewed-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
24 Apr, 2012
1 commit
-
Fix merge between commit 3adadc08cc1e ("net ax25: Reorder ax25_exit to
remove races") and commit 0ca7a4c87d27 ("net ax25: Simplify and
cleanup the ax25 sysctl handling")The former moved around the sysctl register/unregister calls, the
later simply removed them.With help from Stephen Rothwell.
Signed-off-by: David S. Miller
22 Apr, 2012
1 commit
-
Although the network interface is down, the RX packets number which
could be observed by ifconfig may keep on increasing.This is because the WORK scheduled in netvsc_set_multicast_list()
may be executed after netvsc_close(). That means the rndis filter
may be re-enabled by do_set_multicast() even if it was closed by
netvsc_close().By canceling possible WORK before close the rndis filter, the issue
could be never happened.Signed-off-by: Wenqi Ma
Reviewed-by: Wei Yongjun
Signed-off-by: David S. Miller
04 Apr, 2012
1 commit
-
In the existing code, we only stop queue when the ringbuffer is full,
so the current packet has to be dropped or retried from upper layer.This patch stops the tx queue when available ringbuffer is below
the low watermark. So the ringbuffer still has small amount of space
available for the current packet. This will reduce the overhead of
retries on sending.Signed-off-by: Haiyang Zhang
Reviewed-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
20 Mar, 2012
1 commit
-
Instead of dropping the packet, we keep the skb buffer, and return
NETDEV_TX_BUSY to let upper layer retry send. This will not cause
endless loop, because the host is taking data away from ring buffer,
and we have called the stop_queue before returning NETDEV_TX_BUSY.The stop_queue was called in the function netvsc_send() in file
netvsc.c, then it returns to rndis_filter_send(), which returns to
netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is
indeed returned AFTER queue is stopped.Signed-off-by: Haiyang Zhang
Reviewed-by: K. Y. Srinivasan
Acked-by: Eric Dumazet
Signed-off-by: David S. Miller
19 Mar, 2012
1 commit
16 Mar, 2012
1 commit
-
A driver start_xmit() method cannot free skb and return NETDEV_TX_BUSY,
since caller is going to reuse freed skb.This is mostly a revert of commit bf769375c (staging: hv: fix the return
status of netvsc_start_xmit())In fact netif_tx_stop_queue() / netif_stop_queue() is needed before
returning NETDEV_TX_BUSY or you can trigger a ksoftirqd fatal loop.In case of memory allocation error, only safe way is to drop the packet
and return NETDEV_TX_OKSigned-off-by: Eric Dumazet
Cc: "K. Y. Srinivasan"
Cc: Haiyang Zhang
Cc: Greg Kroah-Hartman
Reviewed-by: Haiyang Zhang
Signed-off-by: David S. Miller
13 Mar, 2012
1 commit
-
With this feature, a Linux guest can now configure multiple vlans through
a single synthetic NIC on Win8 Hyper-V host.Signed-off-by: Haiyang Zhang
Reviewed-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
10 Mar, 2012
1 commit
09 Mar, 2012
1 commit
-
Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Cc: Olaf Hering
Signed-off-by: David S. Miller
06 Feb, 2012
1 commit
-
The first assignment to variable "net" is wrong, but overridden by the
latter assignments. So the bug isn't manifested.Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
03 Feb, 2012
2 commits
-
There is a possible data corruption if an RNDIS message goes beyond page
boundary in the sending code path. This patch fixes the problem.Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Signed-off-by: David S. Miller -
For code path not on the xmit, use netif_tx_disable() instead of
netif_stop_queue() to ensure other CPUs are not doing xmit.Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
02 Feb, 2012
1 commit
-
skb->len after call eth_type_trans() does not include the ether
header size, but rx_bytes should account it.Signed-off-by: Wei Yongjun
Signed-off-by: David S. Miller
25 Jan, 2012
1 commit
-
do_set_multicast() may not free the memory malloc in
netvsc_set_multicast_list().Signed-off-by: Wei Yongjun
Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Signed-off-by: David S. Miller
05 Jan, 2012
2 commits
-
Allow the user set the MTU up to 65536 for Linux guests running on
Hyper-V 2008 R2 or later.Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Signed-off-by: Greg Kroah-Hartman -
__get_free_pages() doesn't return HI memory, so the memory is always mapped.
kmap_atomic() is not necessary here. This patch removes the kmap_atomic()
calls and related code for locking and page manipulation.Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Signed-off-by: Greg Kroah-Hartman
10 Dec, 2011
1 commit
-
The ring buffer is only used to pass meta data for outbound packets. The
actual payload is accessed by DMA from the host. So the stop/wake queue
mechanism based on counting and comparing number of pages sent v.s. number
of pages in the ring buffer is wrong. Also, there is a race condition in
the stop/wake queue calls, which can stop xmit queue forever.The new stop/wake queue mechanism is based on the actual bytes used by
outbound packets in the ring buffer. The check for number of outstanding
sends after stop queue prevents the race condition that can cause wake
queue happening earlier than stop queue.Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Reported-by: Long Li
Signed-off-by: Greg Kroah-Hartman
02 Dec, 2011
1 commit
-
Add code to accept promiscuous mode setting, and pass it to
RNDIS filter.Signed-off-by: Haiyang Zhang
Signed-off-by: K. Y. Srinivasan
Signed-off-by: Greg Kroah-Hartman
29 Nov, 2011
1 commit
-
hv_netvsc has been reviewed on netdev mailing list on 6/09/2011.
All recommended changes have been made. We are requesting to move
it out of staging area.Signed-off-by: Haiyang Zhang
Signed-off-by: KY Srinivasan
Signed-off-by: Mike Sterling
Acked-by: Stephen Hemminger
Acked-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman