Actions
Feature #11360
closedinitialize FC for i40e
Start date:
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:
Description
Description
While working on another issue I noticed that one of my i40e ports was sending a lot of pause frames.
# kstat -p i40e::pfstats: | grep link_x i40e:0:pfstats:link_xoff_rx 9408693 i40e:0:pfstats:link_xoff_tx 0 i40e:0:pfstats:link_xon_rx 6 i40e:0:pfstats:link_xon_tx 0 i40e:1:pfstats:link_xoff_rx 0 i40e:1:pfstats:link_xoff_tx 9408694 i40e:1:pfstats:link_xon_rx 0 i40e:1:pfstats:link_xon_tx 6
After discussing with Robert Mustacchi, I learned that, by default, Ethernet flow control should be disabled on i40e. For example, dladm reports it as "off" even though it's not.
# dladm show-linkprop -p flowctrl i40e0 LINK PROPERTY PERM VALUE DEFAULT POSSIBLE i40e0 flowctrl r- no no no,tx,rx,bi
We need to update the driver to properly initialize FC. I'm narrowing the scope of this issue to simply initialize FC based on the default settings. If we require user-controller FC (via dladm) in the future then a separate ticket should be filed.
I tested this by verifying the i40e_hw_space.fc.current_mode is set to I40E_FC_NONE.
Here's the current platform.
> ::walk mac_impl_cache |::printf "0x%p %s\n" mac_impl_t . mi_name 0xfffffe59420f1848 i40e0 > 0xfffffe59420f1848::print mac_impl_t mi_driver |::print i40e_t i40e_hw_space.fc i40e_hw_space.fc = { i40e_hw_space.fc.current_mode = 3 (I40E_FC_FULL) i40e_hw_space.fc.requested_mode = 0 (I40E_FC_NONE) } >
Here's the patched platform.
> ::walk mac_impl_cache |::printf "0x%p %s\n" mac_impl_t . mi_name 0xfffffe59421ad848 i40e0 > > 0xfffffe59421ad848::print mac_impl_t mi_driver |::print i40e_t i40e_hw_space.fc i40e_hw_space.fc = { i40e_hw_space.fc.current_mode = 0 (I40E_FC_NONE) i40e_hw_space.fc.requested_mode = 0 (I40E_FC_NONE) } >
Updated by Electric Monk over 4 years ago
- Status changed from New to Closed
git commit 2f79f42c9137bbeebe83c431ed2623985c554679
commit 2f79f42c9137bbeebe83c431ed2623985c554679 Author: Ryan Zezeski <rpz@joyent.com> Date: 2019-07-15T18:17:01.000Z 11360 initialize FC for i40e Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Randy Fishel <randyf@sibernet.com> Approved by: Garrett D'Amore <garrett@damore.org>
Actions