Commit Graph
26 Commits
Author SHA1 Message Date
Yuri Benditovich cf7599d0af netkvm: support checksumming of unaligned buffers for ARM64
Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03: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
Ladi Prosek 83e9f437a6 netkvm/NDIS6: Switch to BSD license
The project is switching from GPL to BSD.

Signed-off-by: Ladi Prosek <[email protected]>
2017-08-08 11:28:16 +03:00
Yuri Benditovich 8e5c98e5c2 netkvm: Fix wrong parsing of VLAN/Prio packets
https://bugzilla.redhat.com/show_bug.cgi?id=1451978
The driver incorrectly parses packets containing VLAN/priority
tag and does not recognize IP packet properly. Due to another bug
in case the packet is not recognized as IP, it can report it as
packet with invalid checksum, causing OS to ignore it

Signed-off-by: Yuri Benditovich <[email protected]>
2017-07-03 10:55:38 +03:00
Vadim Rozenfeld de7f3a1951 Bug 1303510 - Change the copyright on all the Windows drivers to "2017" in virtio-win-prewhql build
(cherry-picked from commit 3accaa89d7c76b93988022b67ad4849af891ef2d)
Signed-off-by: Ladi Prosek <[email protected]>
2017-03-23 10:04:55 +01:00
Sameeh Jubran fb7a7862b8 Net-KVM: Send Neighbor Solicitation Message on VIRTIO_NET_F_GUEST_ANNOUNCE
According to spec, on control interrupt if the bit VIRTIO_NET_S_ANNOUNCE
of status is set the driver should send gratuitous arp packet. In IPv6
the packet that should be sent is Neighbor Solicitation Message.

Signed-off-by: Sameeh Jubran <[email protected]>
2017-03-13 11:48:28 +02:00
Ladi Prosek fe0314a33b netkvm: Spelling fixes 2017-01-20 21:08:17 +11:00
Ladi Prosek 1fd170bc18 netkvm: Optimize checksum routine on 64-bit
On 64-bit CPUs, data can be added together four bytes at a time
with virtually the same number of instructions and still without
having to worry about the carry flag.

This commit significantly improves the performance of
RawCheckSumCalculator making it twice as fast on 64-bit. 32-bit
performance is unchanged.
2016-12-22 16:06:54 +11:00
Ladi Prosek 9bb2edb34b NetKVM: Cleanup, tweaks, and fixes
This commit removes some dead code, removes redundant pragma
warning directive, and fixes a couple of minor issues with the
code.
2016-07-17 18:10:35 +10:00
Leonid Bloch c657c80014 NetKVM: Verify that the total length of IPv6 header is less than that of the frame
In rare cases, in a packet that was identified as an IPv6 packet, the
total length of the IPv6 header (including the extended headers) could
be assumed to be longer than the length of the entire frame. Now, in
such cases the packet is classified as "not an IP packet", since such
an assumption is clearly wrong.

Signed-off-by: Leonid Bloch <[email protected]>
2016-06-15 20:28:35 +10:00
Leonid Bloch 4589093aaa NetKVM: If IP version in IP header is not 4 or 6 - it is not an IP packet
If the IP version in the IP header was not 4 or 6, until now the packet
was qualified as "untested". Now it is qualified as "not an IP packet".

Signed-off-by: Leonid Bloch <[email protected]>
2016-06-15 20:28:35 +10:00
Leonid Bloch f172e8bcb7 NetKVM: Removing some redundant definitions
Signed-off-by: Leonid Bloch <[email protected]>
2016-06-15 20:28:35 +10:00
Leonid Bloch 754481432c NetKVM: Some cosmetic changes
This mainly removes unneeded whitespaces.

Signed-off-by: Leonid Bloch <[email protected]>
2016-06-15 20:28:35 +10: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
Vadim Rozenfeld 36a8c5ef34 Bug 1303510 - Change the copyright on all the Windows drivers to "2016" in virtio-win-prewhql build 2016-02-04 12:39:41 +11: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 9de4c7cafe NetKVM: BZ#954183: Superflous SAL include removed
Signed-off-by: Joseph Hindin <[email protected]>
2015-05-04 12:45:18 +10:00
Yan Vugenfirer 5f63708f74 Compile NetKVM with Visual Studio 2015
Suppressing the warnings introduced by VS 2015 compiler

Signed-off-by: Yan Vugenfirer <[email protected]>
2015-04-24 22:54:30 +10:00
Vadim Rozenfeld dd85d18fa4 BZ 1183423 - Change the copyright on all the Windows drivers to 2015
(cherry picked from commit c98b6a64346d04a3b5c3611d5b777b3cfc44f2a3)
2015-04-11 19:31:28 +10:00
Joseph Hindin 0ad8002ec3 NetKVM: BZ#954183: fallthrough annotation
Static driver verifier can benefit from __fallthrough annotations in case
statement without 'break', passing control to the next case statement.

Signed-off-by: Joseph Hindin <[email protected]>
2015-04-07 15:25:45 +10:00
Joseph Hindin 723416fa42 NetKVM: BZ#1169718: Checking the length only on read
Signed-off-by: Joseph Hindin <[email protected]>
2014-12-19 15:30:06 +11:00
Joseph Hindin 59cb10c492 NetKVM: BZ#1169718: Checking against the length
Signed-off-by: Joseph Hindin <[email protected]>
2014-12-19 15:29:59 +11:00
Joseph Hindin fbfa4d1083 NetKVM: BZ#1169718: More rigoruous testing of incoming packet
Signed-off-by: Joseph Hindin <[email protected]>
2014-12-19 15:29:52 +11:00
Dmitry Fleytman fbafe1f630 NetKVM: BZ1096505 packet submission refactoring
This patch changes TX packets submission logic
and offloads as required for mqueue implementation.

Signed-off-by: Dmitry Fleytman <[email protected]>
2014-05-28 19:03: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