| 2339f28c | 10-May-2018 |
Marcin Wojtas <[email protected]> |
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 <[email protected]> Reported by: Krishna Yenduri <[email protected]> Obtained from: Semihalf Sponsored by: Amazon, Inc.
show more ...
|
| dbf2eb54 | 10-May-2018 |
Marcin Wojtas <[email protected]> |
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 <[email protected]> Reviewed by: Michal Krawczyk <[email protected]>
show more ...
|
| 5727f162 | 09-Nov-2017 |
Marcin Wojtas <[email protected]> |
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 <[email protected]> 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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> 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 <[email protected]> |
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 <[email protected]> Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12864
show more ...
|
| 8805021a | 09-Nov-2017 |
Marcin Wojtas <[email protected]> |
Allow partial MSI-x allocation in ENA driver
The situation, where part of the MSI-x was not configured properly, was not properly handled. Now, the driver reduces number of queues to reflect number
Allow partial MSI-x allocation in ENA driver
The situation, where part of the MSI-x was not configured properly, was not properly handled. Now, the driver reduces number of queues to reflect number of existing and properly configured MSI-x vectors.
Submitted by: Michal Krawczyk <[email protected]> Reviewed by: byenduri_gmail.com Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12863
show more ...
|
| 0052f3b5 | 09-Nov-2017 |
Marcin Wojtas <[email protected]> |
Remove deprecated and unused counters in ENA driver
Few counters were imported from the Linux driver and never used, because of differences between the Linux and FreeBSD APIs.
Queue stops and resum
Remove deprecated and unused counters in ENA driver
Few counters were imported from the Linux driver and never used, because of differences between the Linux and FreeBSD APIs.
Queue stops and resumes are no longer supported by the driver and counters were incremented indicating false events.
Submitted by: Michal Krawczyk <[email protected]> Reviewed by: rlibby Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12862
show more ...
|
| 3f9ed7ab | 09-Nov-2017 |
Marcin Wojtas <[email protected]> |
Cover ENA driver code with branch predictioning statements
The driver was using it in only few places, so the rest of the code was covered with those statement.
Submitted by: Michal Krawczyk <mk@se
Cover ENA driver code with branch predictioning statements
The driver was using it in only few places, so the rest of the code was covered with those statement.
Submitted by: Michal Krawczyk <[email protected]> Reviewed by: rlibby Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12861
show more ...
|
| 0bdffe59 | 09-Nov-2017 |
Marcin Wojtas <[email protected]> |
Refactor style of the ENA driver
* Change all conditional checks in "if" statement to boolean expressions * Initialize variables with too complex values outside the declaration * Fix indentations *
Refactor style of the ENA driver
* Change all conditional checks in "if" statement to boolean expressions * Initialize variables with too complex values outside the declaration * Fix indentations * Move code associated with sysctls to ena_sysctl.c file * For consistency, remove unnecesary "return" from void functions * Use if_getdrvflags() function instead of accesing variable directly
Submitted by: Michal Krawczyk <[email protected]> Obtained from: Semihalf Sponsored by: Amazon, Inc. Differential Revision: https://reviews.freebsd.org/D12860
show more ...
|