Commit Graph
14 Commits
Author SHA1 Message Date
Yuri Benditovich d07c893ae7 netkvm: fix IOCTL processing of RSS disable
In case of RSS disable IOCTL the driver rejects the
command due to 'invalid length' although the length of
of the received structure is correct. The structure does
not include any extensions as they are not required for
case of RSS disable. Current commit moves checks that
expect extended length of received structure to the
case when the IOCTL does not disable RSS. It also adds
printouts for each case the driver fails the IOCTL due
to wrong length.
For example, such IOCTL comes during driver disable.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-02-27 15:29:17 +02:00
Sameeh Jubran 2cc38bac81 NetKVM: Integrate WPP Tracing
This commit integrates wpp tracing into builds higher than Vista as
Windows Vista requires much more configuration for wpp integration,
however, this integration may be introduced in the future.

The old style of Dprintf is still preserved by this commit and can be
enabled by disabling WPP tracing. This can be accomplished by commenting
the following line in WPPTrace.h:

Signed-off-by: Sameeh Jubran <[email protected]>
2017-12-12 21:53:43 +02:00
Sameeh Jubran 699a3c6d1c NetKVM: DPrintf: Use variadic arguments and fmt
This should be the appropriate for handling variadic arguments in a
MACRO.

Signed-off-by: Sameeh Jubran <[email protected]>
2017-12-12 21:53:43 +02:00
Yuri Benditovich eb44a9018d netkvm: Unification and small optimization in RSS code
Use single call to OS without redundant temporary variables
when obtaining current CPU index.

Signed-off-by: Yuri Benditovich <[email protected]>
2017-01-31 13:32:36 +11:00
Ladi Prosek fe0314a33b netkvm: Spelling fixes 2017-01-20 21:08:17 +11:00
Yuri Benditovich 6c63dd6ede netkvm: Fix race of changing of RSS parameters and TX
TX uses RSS2QueueMap vector to place TX packet into
one of TX queues according to hash. This vector is a
product of received RSS settings. If OS/NDIS sends
update of RSS settings simultaneously with packet
processing, the RSS2QueueMap may be wrong or even
invalid. The solution is protecting of TX packet
processing and change of RSS settings by read-write
lock (read on TX packet, write on RSS change).

Signed-off-by: Yuri Benditovich <[email protected]>
2016-11-22 20:35:12 +11:00
Dmitry Fleytman 978bdca459 NetKVM: Make ASSERT macros produce BSOD in debug builds
Signed-off-by: Dmitry Fleytman <[email protected]>
2016-05-30 19:17:08 +10:00
Yan Vugenfirer eb06694f9e NetKVM: Refactoring ndis56common.h: to enable removal of kdebugprint.h dependency
Part of the effort to simplify ndis56common.h. This is the first step in
removing kdebugprint.h from ndis56common.h, adding include where needed and
moving some functions implementation from class definitions files.

Signed-off-by: Yan Vugenfirer <[email protected]>
2015-06-23 20:51:42 +10:00
Joseph Hindin 51375abb69 NetKVM: BZ#1190960: Global receive queue eliminated
Before the patch 'Routing unclassified packets through RX path's receive
queue', unclassified packets were routed through per-context receive queue,
placed into ReceiveQueues array at index 0. The patch 'Routing
unclassified packets through RX path's receive queue' changes
unclassified packets routing so that they are placed into a dedicated
receive queue, one per virtqueue/CParaNdisRX instance. This patch
completes the change by removing per-context receive queue; first
element in ReceiveQueues array has not special meaning and the
constant 'PARANDIS_RECEIVE_QUEUE_UNCLASSIFIED'  was split
into 'PARANDIS_RECEIVE_UNCLASSIFIED_PACKET' and
'PARANDIS_RECEIVE_NO_QUEUE', depending on context.

Signed-off-by: Joseph Hindin <[email protected]>
2015-04-30 11:12:41 +10:00
Joseph Hindin ccebcec964 NetKVM: BZ#1206279: RSS tables printout
Signed-off-by: Joseph Hindin <[email protected]>
2015-04-30 11:12:41 +10:00
Joseph Hindin 5bbaa2f250 NetKVM: BZ#1206279: fixes for CPU/Queue assignment and unclassified packets
Signed-off-by: Joseph Hindin <[email protected]>
2015-04-30 11:12:41 +10:00
Joseph Hindin dcecfea752 NetKVM: BZ#1154419: Under RSS unclassified packets dispatched to the first queue
Signed-off-by: Joseph Hindin <[email protected]>
2014-12-26 18:05:22 +11:00
Joseph Hindin d0a1c4f1e7 NetKVM: BZ#1096505: RW lock insetad of spinlock in RSS parameters
Signed-off-by: Joseph Hindin <[email protected]>
2014-07-02 17:25:26 +10:00
Dmitry Fleytman 53b6380af4 NetKVM: BZ1096505 Separate transmit path data from device context
This commit is a preparation for multiqueue implementation.
It itroduces changes driver's TX code structure the way
needed to allow creation of multiple independent transmit pathes.

Signed-off-by: Dmitry Fleytman <[email protected]>
2014-05-12 18:20:53 +10:00