It's the same on Medford as Huntington.
Multicast chaining is not always on, even with Medford, as it's not
supported by low latency firmware.
Unlike the Linux driver, we don't need to support virtulization with
firmware released before support for multicast chaining was added.
Submitted by: Mark Spender <mspender at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D6319
With multicast chaining, if e.g. a specific multicast filter is
inserted and the multicast mis-match filter is then inserted, both may
match a packet and cause it to be delivered.
Copy the behaviour of the Linux driver, which is to remove the old filters
first, on the basis that customers are more likely to be able to handle
drops than duplicates (see bug49178 comment 4).
Submitted by: Mark Spender <mspender at solarflare.com>
Sponsored by: Solarflare Communications, Inc.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D6331
expand(). Never return the name parameter, which could be a the buf[]
buffer which is allocated on the stack by getdeadletter() and which
would then be used after getdeadletter() has returned.
Reported by: Coverity
CID: 1199383
MFC after: 1 week
the driver here, so it shouldn't be accessed, let alone written to. Remove
the nearby debug line, it's the only thing that depended on the softc, and
it depended on it in a way that couldn't work in this part of the code.
This fixes some reports of use-after-free and system instability with
DEBUG_MEMGUARD enabled.
Submitted by: Matthew Macy
MFC after: 3 days
terminated. Don't bother checking for truncation since the subsequent
stat() call should detect that and fail.
Reported by: Coverity
CID: 1018189
MFC after: 1 week
NUL terminated. The source and destination buffers are the same
size and the source *should* be NUL terminated, but be paranoid.
Reported by: Coverity
CID: 1011274
MFC after: 1 week
terminated. Don't bother checking for truncation since the subsequent
quota_read() should detect that and fail.
Reported by: Coverity
CID: 1009980
MFC after: 1 week
memcpy() instead. It's probably a bit more optimal in this case
anyway. [1]
The program logic leading up to the creation of the strncpy/memcpy
destination buffer is a bit hairy. Add a call to assert() to make
it clear what is happening here and detect any potential buffer
overruns in the future.
Check a couple syscall error returns. Ignore the EEXIST error from
link() to preserve existing behavior. [2] [3]
Reported by: Coverity
CID: 1009659 [1], 1009349 [2], 1009350 [3]
I'm still not sure why only Pypy runs into the error with the function
typedefs. Fix it anyway.
Use __ssize_t instead of ssize_t for the types; it's possible for the size_t
type to not be visible if at the wrong POSIX_VISIBLE level.
A final (crossing my fingers) follow-up to r299456.
Sponsored by: EMC / Isilon Storage Division
ensure that the latter is NUL terminated since it is passed
as an argument to *printf().
Warn about NIS domains that are too long.
Reported by: Coverity
CID: 1009620, 1009621
MFH: 1 week
Despite the private namespace, several broken ports depend on the __off64_t
name for the type. Export it exactly the same way off_t and __off_t are
exported.
A follow-up to r299456.
Suggested by: php56
Sponsored by: EMC / Isilon Storage Division
Add gpiobus_release_pin as a counterpart for gpiobus_map_pin. Without it
it's impossible to properly release pin so if kernel module is reloaded
it can't re-use pins again
Changes:
Kevin Scott i40e-shared: Save off VSI resource count when updating VSI
Anjali Singhai Jain i40e-shared: Expose some registers to program parser, FD and RSS logic
Eric Joyner ixl: Fix errors in queue interrupt setup in MSIX mode.
Shannon Nelson i40e-shared: implement and use rx ctl helper functions
Shannon Nelson i40e-shared: don't use AQ calls from clear_hw
Eric Joyner ixl: Use rx ctl read/write functions instead of register accesses in certain places.
Shannon Nelson i40e-shared: add adminq commands for rx ctl registers
Shannon Nelson i40e-shared: implement and use rx ctl helper functions
Jeremiah Kyle i40e-shared: Corrected function name in comment block
Deepthi Kavalur i40e-shared: correcting a HW capability display info
Shannon Nelson i40e-shared: fixups for (Linux) upstream consistency
Eric Joyner ixl: Only stop firmware's LLDP agent on older firmware versions.
Differential Revision: https://reviews.freebsd.org/D6211
Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com
MFC after: 2 weeks
Sponsored by: Intel Corporation
Changes by author:
Eric Joyner ixl: Fix compile error when IXL_DEBUG is defined.
Eric Joyner ixl: Fix taskqueues created in init() not being freed in stop().
Eric Joyner ixl: Add additional debug sysctls, for Tx and Rx queue stats.
Eric Joyner ixl: Enable dynamic itr by default.
Eric Joyner ixl: Edit spacing, comments, function signatures (to conform to style(9)).
Eric Joyner ixl: Check for errors when tearing down msix interrupts.
Eric Joyner ixl: Remove unnecessary register reads/writes.
Eric Joyner ixl: Remove admin queue interrupt enable from general interrupt enable.
Eric Joyner ixl: Update switch config after teardown/reset flow in init().
Eric Joyner ixl: Add additional admin queue error code output to admin queue call errors.
Eric Joyner ixl: Don't destroy i40e spinlock if it's already uninitialized.
Shannon Nelson i40e-shared: clean event descriptor before use
Anjali Singhai Jain i40e-shared: When in promisc mode apply promisc mode to Tx Traffic as well
Kevin Scott i40e_shared: Increase timeout when checking GLGEN_RSTAT_DEVSTATE bit
Eric Joyner ixlv: Fix IXL_DEBUG compile issue.
Eric Joyner ixlv: Attempt to fix panic/other issues when rapidly unloading/loading driver.
Eric Joyner ixl/ixlv: Revert m_collapse() in ixl_xmit() to m_defrag().
Deepthi Kavalur i40e_shared: Trace logging HW capabilities
Eric Joyner ixlv: Correctly unlock/relock around init() call in vc_completion().
Eric Joyner ixl: Stop preventing changing flow control mode for CR4 media.
Eric Joyner ixl: Set IPv6 TCP offload flag when doing TSO.
Differential Revision: https://reviews.freebsd.org/D6211
Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com
MFC after: 2 weeks
Sponsored by: Intel Corporation
Changes by author:
Eric Joyner ixl: Add more error messages/checks to ixl_vsi_assign_msix().
Eric Joyner ixl/ixlv: Clarify a comment about descriptors.
Eric Joyner ixl/ixlv: Improve i40e_debug() implementation.
Eric Joyner ixl/ixlv: Remove unused ASSERT() macro; move struct around.
Eric Joyner ixl: Set initial advertised speed value in init_locked().
Eric Joyner ixl: Fix flow control sysctl value being stored when new value is invalid.
Eric Joyner Edit comments and spacing.
Carolyn Wyborny i40e-shared: Add functions to blink led on Coppervale PHY
Eric Joyner ixl: Re-do interrupt setup.
Eric Joyner ixl: Remove VFLR task setup from legacy flow.
Eric Joyner ixl: Shutdown/setup HMC when handling an EMPR reset.
Differential Revision: https://reviews.freebsd.org/D6211
Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com
MFC after: 2 weeks
Sponsored by: Intel Corporation
Changes:
Kiran Patil i40e-shared: APIs to Add/remove port mirroring rules
Shannon Nelson i40e-shared: add VEB stat control and remove L2 cloud filter
Eric Joyner ixl: Update NVM version information shown.
Eric Joyner ixl: Remove empty else block.
Eric Joyner ixl: Slightly re-work ixl_init_msix().
Eric Joyner ixl: Remove duplicate queue enablement.
Shannon Nelson i40e-shared: implement the API function for aq_set_switch_config
Eric Joyner ixl: Update nvm version string shown in sysctl.
Eric Joyner ixl/ixlv: Changes to PF/VF minor version checking/handling.
Eric Joyner ixlv: Reduce maximum wait time for responses to VF AQ messages.
Eric Joyner ixl/ixlv: Edit comments, comment out code, and edit spacing.
Eric Joyner ixl: Print log message when SR-IOV init is successful.
Eric Joyner ixl: Add Tx Flow Control filter from main PF VSI.
Eric Joyner ixlv: Add extra error message when ixlv_get_vf_config times out.
Eric Joyner ixl: Assign current MOCS optics the XLPPI media type.
Eric Joyner ixl: Remove conditional wait after link status event.
Eric Joyner ixl: Add line break and remove extraneous return statement.
Eric Joyner ixl: Allow 40G speeds in the advertise_speed sysctl.
Eric Joyner ixl: Add "CRC enable" field to link_status sysctl output.
Eric Joyner ixl: Move sbuf.h include out of IXL_DEBUG* defines.
Eric Joyner ixl: Move remaining debug sysctl funcs to IXL_DEBUG_SYSCTL define.
Eric Joyner ixl: Add cases for all remaining media types in shared code to media_status().
Differential Revision: https://reviews.freebsd.org/D6211
Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com
MFC after: 2 weeks
Sponsored by: Intel Corporation
Changes:
Shannon Nelson i40e-shared: set shared bit for multicast filters
Piotr Raczynski i40e-shared: Bump AQ minor version for FVL/FPK
Eric Joyner ixl: Remove call to i40e_aq_set_mac_config() in init path.
Eric Joyner ixl: Always add interface mac address to driver+hw filter list.
Eric Joyner ixl: Edit comments.
Eric Joyner ixl: Add more descriptive sysctl help messages.
Eric Joyner ixl: Report more info in link_status sysctl.
Eric Joyner ixl: Flip set_aq_phy_int_mask mask bits.
Differential Revision: https://reviews.freebsd.org/D6211
Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com
MFC after: 2 weeks
Sponsored by: Intel Corporation
Changes by author:
Eric Joyner ixl: Remove substitution of EACCES for EPERM when perrno is set on an nvmupdate command return.
Eric Joyner ixl: Print message when hardware sends GRST interrupt.
Eric Joyner ixl: Fix kernel panic when driver fails to initialize admin queue.
Eric Joyner ixl: Print out messages when a non-handled other interrupt occurs.
Eric Joyner ixl: Fix spaces in a couple messages.
Eric Joyner ixl: Add lock around nvmupd command entry point and reconvert EPERM errors to EACCES.
Anjali Singhai Jain i40e-shared: Make some changes in the nvm read code
Shannon Nelson i40e-shared: AQ Add Run PHY Activity struct
Shannon Nelson i40e-shared: AQ Add Geneve cloud tunnel type
Shannon Nelson i40e-shared: AQ Add external power class to get link status response struct
Shannon Nelson i40e-shared: AQ Add shared resource flags for macvlan filters
Shannon Nelson i40e-shared: AQ Add set_switch_config
Shannon Nelson i40e-shared: AQ Add VXLAN-GPE tunnel type for cloud filter and tunnel commands
Shannon Nelson i40e-shared: AQ thermal sensor control struct
Shannon Nelson i40e-shared: Bump AQ minor version to 1.5 for FVL5 features
Shannon Nelson i40e-shared: add a little more to an NVM update debug message
Carolyn Wyborny i40e-shared: Fix for PHY NVM interaction problem
Eric Joyner i40e-shared: Add prototypes for private NVM write functions
Eric Joyner ixl/ixlv: Remove unused define from ixl.h.
Eric Joyner ixl: Add handling of EMP reset for nvm update purposes.
Eric Joyner ixl: Move addition of device sysctls to separate function.
Eric Joyner ixl: Fix up a couple error messages in ixl_attach().
Eric Joyner ixl: Update the hardware resource allocation debug sysctl.
Differential Revision: https://reviews.freebsd.org/D6211
Reviewed by: sbruno, kmacy, jeffrey.e.pieper@intel.com
MFC after: 2 weeks
Sponsored by: Intel Corporation