#
c2e7e247 |
| 21-Mar-2019 |
Marcin Wojtas <mw@FreeBSD.org> |
Prevent double activation of admin interrupt in ENA
The resource is already being activated in the bus_alloc_resource(), because the flag RF_ACTIVE is being passed.
Double activation on arm64 is ca
Prevent double activation of admin interrupt in ENA
The resource is already being activated in the bus_alloc_resource(), because the flag RF_ACTIVE is being passed.
Double activation on arm64 is causing kernel panic.
Version of the driver was upgraded to 0.8.4.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reported-by: Greg V <greg@unrelenting.technology> Tested-by: cperciva, Greg V <greg@unrelenting.technology> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. Differential revision: https://reviews.freebsd.org/D19655
show more ...
|
#
30e009fc |
| 19-Feb-2019 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r344270
|
#
c981cbbd |
| 15-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r343956 through r344177.
|
#
1d65b4c0 |
| 15-Feb-2019 |
Marcin Wojtas <mw@FreeBSD.org> |
Do not use ntc for obtaining buffer on Rx in the ENA
In out of order mode Rx buffer are accesses by req_id. Accessing and validating mbuf using ntc is causing false error.
Increase driver revision
Do not use ntc for obtaining buffer on Rx in the ENA
In out of order mode Rx buffer are accesses by req_id. Accessing and validating mbuf using ntc is causing false error.
Increase driver revision after latest RX OOO completion fixes.
Submitted by: Rafal Kozik <rk@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon, Inc. MFC after: 1 week
show more ...
|
#
c51a229c |
| 15-Feb-2019 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix validation of the Rx OOO completion in the ENA
Requested ID should be validated when the packet is received and not when the driver is repopulating the mbufs.
Submitted by: Michal Krawczyk <mk@
Fix validation of the Rx OOO completion in the ENA
Requested ID should be validated when the packet is received and not when the driver is repopulating the mbufs.
Submitted by: Michal Krawczyk <mk@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon, Inc. MFC after: 1 week
show more ...
|
#
4c220feb |
| 16-Jan-2019 |
Marcin Wojtas <mw@FreeBSD.org> |
Suppress excessive error prints in ENA TX hotpath
In FreeBSD, this is normal situation that the Tx ring is being full. In hat case, the packet is put back into drbr and the next attempt to send it i
Suppress excessive error prints in ENA TX hotpath
In FreeBSD, this is normal situation that the Tx ring is being full. In hat case, the packet is put back into drbr and the next attempt to send it is taken after the cleanup.
Too much logs like this can cause system instability and even cause the device reset (because keep alive or cleanup could be missed).
To fix that, the log level of this message is changed to debug.
Upon this change upgrade the driver version to v0.8.2.
Submitted by: Michal Krawczyk <mk@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon, Inc.
show more ...
|
Revision tags: release/12.0.0 |
|
#
01d4e214 |
| 05-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
MFH r338661 through r339200.
Sponsored by: The FreeBSD Foundation
|
#
ce44d808 |
| 27-Sep-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338731 through r338987.
|
#
329e817f |
| 26-Sep-2018 |
Warner Losh <imp@FreeBSD.org> |
Reapply, with minor tweaks, r338025, from the original commit:
Remove unused and easy to misuse PNP macro parameter
Inspired by r338025, just remove the element size parameter to the MODULE_PNP_INF
Reapply, with minor tweaks, r338025, from the original commit:
Remove unused and easy to misuse PNP macro parameter
Inspired by r338025, just remove the element size parameter to the MODULE_PNP_INFO macro entirely. The 'table' parameter is now required to have correct pointer (or array) type. Since all invocations of the macro already had this property and the emitted PNP data continues to include the element size, there is no functional change.
Mostly done with the coccinelle 'spatch' tool:
$ cat modpnpsize0.cocci @normaltables@ identifier b,c; expression a,d,e; declarer MODULE_PNP_INFO; @@ MODULE_PNP_INFO(a,b,c,d, -sizeof(d[0]), e);
@singletons@ identifier b,c,d; expression a; declarer MODULE_PNP_INFO; @@ MODULE_PNP_INFO(a,b,c,&d, -sizeof(d), 1);
$ rg -l MODULE_PNP_INFO -- sys | \ xargs spatch --in-place --sp-file modpnpsize0.cocci
(Note that coccinelle invokes diff(1) via a PATH search and expects diff to tolerate the -B flag, which BSD diff does not. So I had to link gdiff into PATH as diff to use spatch.)
Tinderbox'd (-DMAKE_JUST_KERNELS). Approved by: re (glen)
show more ...
|
#
b8e771e9 |
| 19-Aug-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Back out r338035 until Warner is finished churning GSoC PNP patches
I was not aware Warner was making or planning to make forward progress in this area and have since been informed of that.
It's ea
Back out r338035 until Warner is finished churning GSoC PNP patches
I was not aware Warner was making or planning to make forward progress in this area and have since been informed of that.
It's easy to apply/reapply when churn dies down.
show more ...
|
#
faa31943 |
| 19-Aug-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Remove unused and easy to misuse PNP macro parameter
Inspired by r338025, just remove the element size parameter to the MODULE_PNP_INFO macro entirely. The 'table' parameter is now required to have
Remove unused and easy to misuse PNP macro parameter
Inspired by r338025, just remove the element size parameter to the MODULE_PNP_INFO macro entirely. The 'table' parameter is now required to have correct pointer (or array) type. Since all invocations of the macro already had this property and the emitted PNP data continues to include the element size, there is no functional change.
Mostly done with the coccinelle 'spatch' tool:
$ cat modpnpsize0.cocci @normaltables@ identifier b,c; expression a,d,e; declarer MODULE_PNP_INFO; @@ MODULE_PNP_INFO(a,b,c,d, -sizeof(d[0]), e);
@singletons@ identifier b,c,d; expression a; declarer MODULE_PNP_INFO; @@ MODULE_PNP_INFO(a,b,c,&d, -sizeof(d), 1);
$ rg -l MODULE_PNP_INFO -- sys | \ xargs spatch --in-place --sp-file modpnpsize0.cocci
(Note that coccinelle invokes diff(1) via a PATH search and expects diff to tolerate the -B flag, which BSD diff does not. So I had to link gdiff into PATH as diff to use spatch.)
Tinderbox'd (-DMAKE_JUST_KERNELS).
show more ...
|
#
b60a815e |
| 09-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Remove stray space from PNP string.
|
#
40abe76b |
| 08-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Add PNP info to PCI attachment of ena driver
Make unsigned values uint16_t for pnp table. They are properly uint16_t befause they are 16-bit PCI IDs. The PNP_INFO language has no type for bare unsig
Add PNP info to PCI attachment of ena driver
Make unsigned values uint16_t for pnp table. They are properly uint16_t befause they are 16-bit PCI IDs. The PNP_INFO language has no type for bare unsigned.
Reviewed by: imp, chuck Submitted by: Lakhan Shiva Kamireddy <lakhanshiva@gmail.com> Sponsored by: Google, Inc. (GSoC 2018) Pull Request: https://github.com/bsdimp/freebsd/pull/5
show more ...
|
Revision tags: release/11.2.0 |
|
#
2339f28c |
| 10-May-2018 |
Marcin Wojtas <mw@FreeBSD.org> |
Do not pass header length to the ENA controller
Header length is optional hint for the ENA device. Because It is not guaranteed that every packet header will be in the first mbuf segment, it is bett
Do not pass header length to the ENA controller
Header length is optional hint for the ENA device. Because It is not guaranteed that every packet header will be in the first mbuf segment, it is better to skip passing any information. If the header length will be indicating invalid value (different than 0), then the packet will be dropped.
This kind situation can appear, when the UDP packet will be fragmented by the stack in the ip_fragment() function.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reported by: Krishna Yenduri <kyenduri@brkt.com> Obtained from: Semihalf Sponsored by: Amazon, Inc.
show more ...
|
#
dbf2eb54 |
| 10-May-2018 |
Marcin Wojtas <mw@FreeBSD.org> |
Skip setting the MTU for ENA if it is not changing
On AWS, a network interface can get reinitialized every 30 minutes due to the MTU being (re)set when a new DHCP lease is obtained. This can cause p
Skip setting the MTU for ENA if it is not changing
On AWS, a network interface can get reinitialized every 30 minutes due to the MTU being (re)set when a new DHCP lease is obtained. This can cause packet drop, along with annoying syslog messages.
Skip setting the MTU in the ena driver if the new MTU is the same as the old MTU. Note this fix is already in the netfront driver.
Testing: Verified ena up/down messages do not appear every 30 min in /var/log/messages with the fix in place.
Submitted by: Krishna Yenduri <kyenduri@brkt.com> Reviewed by: Michal Krawczyk <mk@semihalf.com>
show more ...
|
#
f8190300 |
| 10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325505 through r325662.
|
#
5727f162 |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix setting AENQ group in ENA driver
With the current state of the AENQ handlers in the ENA driver, only implemented handlers should be indicated.
Submitted by: Michal Krawczyk <mk@semihalf.com> Re
Fix setting AENQ group in ENA driver
With the current state of the AENQ handlers in the ENA driver, only implemented handlers should be indicated.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12872
show more ...
|
#
4727bda6 |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Allow usage of more RX descriptors than 1 in ENA driver
Using only 1 descriptor on RX could be an issue, if system would be low on resources and could not provide driver with large chunks of contigu
Allow usage of more RX descriptors than 1 in ENA driver
Using only 1 descriptor on RX could be an issue, if system would be low on resources and could not provide driver with large chunks of contiguous memory.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12871
show more ...
|
#
3cfadb28 |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Read max MTU from the ENA device
The device now provides driver with max available MTU value it can handle.
The function setting MTU for the interface was simplified and reworked to follow up this
Read max MTU from the ENA device
The device now provides driver with max available MTU value it can handle.
The function setting MTU for the interface was simplified and reworked to follow up this changes.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12870
show more ...
|
#
ad5a5afa |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix calculating io queues number in ENA driver
The maximum number of io_cq was the same number as maximum io_sq indicated by the device working in normal mode (without LLQ). It is not always true, e
Fix calculating io queues number in ENA driver
The maximum number of io_cq was the same number as maximum io_sq indicated by the device working in normal mode (without LLQ). It is not always true, especially when LLQ is being enabled. Fix it.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12869
show more ...
|
#
4e8acd84 |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Rework printouts and logging level in ENA driver
The driver was printing out a lot of information upon failure, which does not have to be interested for the user. Changing logging level required to
Rework printouts and logging level in ENA driver
The driver was printing out a lot of information upon failure, which does not have to be interested for the user. Changing logging level required to rebuild driver with proper flags. The proper sysctl was added, so the level now can be changed dynamically using bitmask.
Levels of printouts were adjusted to keep on mind end user instead of debugging purposes.
More verbose messages were added to align the driver with the Linux.
Fix building error introduced by the r325506 by casting csum_flags to uint64_t.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12868
show more ...
|
#
bfea0e93 |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix comparing L3 type with L4 enum on RX hash in ENA driver
This bug wasn't impacting anything, because both enums are indicating the same value, but it could cause a problem on API change.
Submitt
Fix comparing L3 type with L4 enum on RX hash in ENA driver
This bug wasn't impacting anything, because both enums are indicating the same value, but it could cause a problem on API change.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12867
show more ...
|
#
90f4da8b |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix compilation warnings when building ENA driver with gcc compiler
The gcc compiler is more sensitive when variable is having an value assigned, but it is not used anywhere further.
Submitted by:
Fix compilation warnings when building ENA driver with gcc compiler
The gcc compiler is more sensitive when variable is having an value assigned, but it is not used anywhere further.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: rlibby Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12866
show more ...
|
#
cd433385 |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Fix checking if the DF flag was set in ENA driver
The previous way of checking for DF was not valid. When DF is enabled, the DF bit should be 1.
The original way of checking it was wrong in 2 ways:
Fix checking if the DF flag was set in ENA driver
The previous way of checking for DF was not valid. When DF is enabled, the DF bit should be 1.
The original way of checking it was wrong in 2 ways: first of all, it was not checking for single bit, secondly, it was checking for 0.
Submitted by: Michal Krawczyk <mk@semihalf.com> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12865
show more ...
|
#
5a990212 |
| 09-Nov-2017 |
Marcin Wojtas <mw@FreeBSD.org> |
Cleanup of the ENA driver header file
Remove unused macros and fields - some of them were only initialized, without further usage.
Implement minor style fixes and add required comments.
On the occ
Cleanup of the ENA driver header file
Remove unused macros and fields - some of them were only initialized, without further usage.
Implement minor style fixes and add required comments.
On the occasion add missing TX completion counter, which was existing, but mistakenly remained unused.
Submitted by: Michal Krawczyk <mk@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12864
show more ...
|