<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/dev/neta/if_mvneta.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-08-01T09:40:19Z</updated>
<entry>
<title>Fix TX csum handling in if_mvneta</title>
<updated>2020-08-01T09:40:19Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2020-08-01T09:40:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=acdc9154615de09e89a6469fbb8af281c334e044'/>
<id>urn:sha1:acdc9154615de09e89a6469fbb8af281c334e044</id>
<content type='text'>
The mvneta device requires MVNETA_TX_CMD_L4_CHECKSUM_NONE bit to be set in the tx descriptor is checksum not required. However, mvneta_tx_set_csumflag() is not setting this flag currently, causing the hardware to randomly corrupt IP header during transmission.

This affects injected IPv4 packets that skips kernel IP stack processing (e.g. DHCP), as well as all IPv6 packets, since the driver currently does not offload csum for IPv6.

The fix is to remove all the early return paths from mvneta_tx_set_csumflag() which do not set the MVNETA_TX_CMD_L4_CHECKSUM_NONE flag.

PR: 248306
Submitted by: Mike Cui &lt;cuicui@gmail.com&gt;
Reported by: Mike Cui &lt;cuicui@gmail.com&gt;
</content>
</entry>
<entry>
<title>Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)</title>
<updated>2020-02-26T14:26:36Z</updated>
<author>
<name>Pawel Biernacki</name>
<email>kaktus@FreeBSD.org</email>
</author>
<published>2020-02-26T14:26:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7029da5c36f2d3cf6bb6c81bf551229f416399e8'/>
<id>urn:sha1:7029da5c36f2d3cf6bb6c81bf551229f416399e8</id>
<content type='text'>
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all obvious cases as MPSAFE.  All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT

Approved by:	kib (mentor, blanket)
Commented by:	kib, gallatin, melifaro
Differential Revision:	https://reviews.freebsd.org/D23718
</content>
</entry>
<entry>
<title>Implement jumbo frame support in mvneta driver</title>
<updated>2020-02-08T13:33:47Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2020-02-08T13:33:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=73f20bb3a9a1f6b6c3bd156d3cecd9f0ff4a17cd'/>
<id>urn:sha1:73f20bb3a9a1f6b6c3bd156d3cecd9f0ff4a17cd</id>
<content type='text'>
This patch introduces processing of the frames
up to 9kB by the mvneta driver. Some versions of
this NIC limit TX checksum offloading, depending
on the frame size, so add appropriate handling
of this feature.

Submitted by: Kornel Duleba
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D23225
</content>
</entry>
<entry>
<title>Destroy RX DMA tag on detach in mvneta driver</title>
<updated>2020-02-08T13:25:39Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2020-02-08T13:25:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=3599e81c97cae796bc8abc359ab2cfe8f597c2b8'/>
<id>urn:sha1:3599e81c97cae796bc8abc359ab2cfe8f597c2b8</id>
<content type='text'>
This patch fixes deinitialization sequence of the mvneta
driver by adding missing bus_dma_tag_destroy call.

Submitted by: Kornel Duleba &lt;mindal@semihalf.com&gt;
Obtained from: Semihalf
MFC after: 1 week
Sponsored by: Stormshield
</content>
</entry>
<entry>
<title>Update mvneta/e6000sw for new DSA Device Tree Bindings</title>
<updated>2019-03-23T02:48:47Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2019-03-23T02:48:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=0fd68d7298292d55e00375dff06077f1689d3f89'/>
<id>urn:sha1:0fd68d7298292d55e00375dff06077f1689d3f89</id>
<content type='text'>
In the latest Linux kernel revisions the DSA (Distributed
Switch Architecture) device tree binding was changed.
Instead of the top level dsa@ node, the switch and its
ports is represented as a child node of the mdio bus.
With that other modifications were added, such as
relation with the ethernet port of the SoC. Adjust
e6000sw etherswitch and mvneta drivers to that.

Tested on Armada 3720 EspressoBin and Armada 388 Clearfog Pro boards.

Submitted by: Bert JW Regeer &lt;xistence@0x58.com&gt;
Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D19036
</content>
</entry>
<entry>
<title>Disable the auto negotiation if the port is set to fixed-link.</title>
<updated>2018-08-14T18:58:16Z</updated>
<author>
<name>Luiz Otavio O Souza</name>
<email>loos@FreeBSD.org</email>
</author>
<published>2018-08-14T18:58:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=e13a20dad7636a6953568929efdfd73338bf7373'/>
<id>urn:sha1:e13a20dad7636a6953568929efdfd73338bf7373</id>
<content type='text'>
Tested on SG-3100 (ARMADA38X) and Espresso.bin (A37x0).  Fixes the network
on espresso.bin.

Sponsored by:	Rubicon Communications, LLC (Netgate)
</content>
</entry>
<entry>
<title>Make this compile if NO_SYSCTL_DESCR is defined.</title>
<updated>2017-09-28T19:57:46Z</updated>
<author>
<name>Nick Hibma</name>
<email>n_hibma@FreeBSD.org</email>
</author>
<published>2017-09-28T19:57:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=3bc4bd5edd3eed259639b233eecfb7e7ba6ab08e'/>
<id>urn:sha1:3bc4bd5edd3eed259639b233eecfb7e7ba6ab08e</id>
<content type='text'>
Defining a variable with the description and then only use it in the
SYSCTL declaration led to an unused variable warning. In the SYSCTL the
passed value is discarded using __DESCR.
</content>
</entry>
<entry>
<title>Fix gcc compilation issues in the mvneta driver</title>
<updated>2017-09-25T02:06:51Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2017-09-25T02:06:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=40c2a6da0d84e840a212e3d01a17bfa846d0c13e'/>
<id>urn:sha1:40c2a6da0d84e840a212e3d01a17bfa846d0c13e</id>
<content type='text'>
Compiling mvneta driver with gcc unveiled two issues, that
required fixing.

Reported by: andrew
Obtained from: Semihalf
</content>
</entry>
<entry>
<title>Add support for Armada 3700 in the NETA driver</title>
<updated>2017-09-09T11:54:04Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2017-09-09T11:54:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=e314ac07f40470fcc0c7137e8f2f6ce20907b774'/>
<id>urn:sha1:e314ac07f40470fcc0c7137e8f2f6ce20907b774</id>
<content type='text'>
This patch enables using NETA driver on Marvell Armada 3700 SoC
by introducing new compatible string, modifying clock source
obtaining and also excluding unnecessary parts.
The driver is added as a build option for arm64 platforms as well.

Submitted by: Patryk Duda &lt;pdk@semihalf.com&gt;
Obtained from: Semihalf
Sponsored by: Semihalf
Differential Revision: https://reviews.freebsd.org/D12258
</content>
</entry>
<entry>
<title>Store virtual address of buffer in mvneta_rx_ring</title>
<updated>2017-09-09T11:49:36Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2017-09-09T11:49:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=e7843f1dd6649eecf1689b28a048985cf8b7b11c'/>
<id>urn:sha1:e7843f1dd6649eecf1689b28a048985cf8b7b11c</id>
<content type='text'>
Now the virtual address of received buffer is taken from a software ring.
Thanks to this, we can use the NETA driver on 64 bits architecture and
avoid 32-bit buf_cookie descriptor field limitation.

Submitted by: Patryk Duda &lt;pdk@semihalf.com&gt;
Obtained from: Semihalf
Sponsored by: Semihalf
Differential Revision: https://reviews.freebsd.org/D12257
</content>
</entry>
</feed>
