aboutsummaryrefslogtreecommitdiff
path: root/sys/modules
Commit message (Collapse)AuthorAgeFilesLines
* ice(4): Add RDMA Client InterfaceEric Joyner2022-10-191-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the "irdma" driver to communicate with the ice(4) driver to allow it access to the underlying device's hardware resources as well as synchronize access to shared resources. This interface already existed in the standalone out-of-tree 1.34.2 driver; this commit adds and enables it in the in-kernel driver. Note: Adds hack to module Makefile to compile interface/.m files These are required for the RDMA client interface, but they don't build as-is like the normal .c files. The source directory doesn't seem to be included by default, so add lines that specifically add them as libraries so that ice_rdma.h can be found and the interface files will compile. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D30889 (cherry picked from commit 8a13362d49bf07dfc654e25976d057adbe0ac9c1) (cherry picked from commit d8cce8145c39812cc31b50070c44d66ca21a5127)
* ice(4): Update to 1.34.2-kEric Joyner2022-10-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adds FW logging support - Once enabled, this lets the firmware print event and error messages to the log, increasing the visibility into what the hardware is doing; this is useful for debugging - General bug fixes - Adds initial DCB support to the driver - Notably, this adds support for DCBX to the driver; now with the fw_lldp sysctl set to 1, the driver and adapter will adopt a DCBX configuration sent from a link partner - Adds statistcs sysctls for priority flow control frames - Adds new configuration sysctls for DCB-related features: (VLAN) user priority to TC mapping; ETS bandwidth allocation; priority flow control - Remove unused SR-IOV files (until support gets added) (MFC node: This adds support for E82x devices (codename Columbia Park) Signed-off-by: Eric Joyner <erj@FreeBSD.org> Tested by: jeffrey.e.pieper@intel.com MFC with: 213e91399b, e438f0a975 Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D34024 (cherry picked from commit 56429daea255fa719169bb23ded66f8edb6f5408) (cherry picked from commit 61d83041ab111fe491409f2eca2b528108b9ec29)
* ice_ddp: Update to 1.3.27.0Eric Joyner2022-10-191-1/+1
| | | | | | | | | | | | This is intended to be used with forthcoming ice(4) driver version 1.34.2. (MFC note: this is missing any powerpc64 support changes) Signed-off-by: Eric Joyner <erj@FreeBSD.org> Sponsored by: Intel Corporation (cherry picked from commit e438f0a97538bf5cf6f3ff70a65c4d1f96b766aa)
* iavf(4): Split source and update to 3.0.26-kEric Joyner2022-10-191-5/+6
| | | | | | | | | | | | | | | | | | | | | The iavf(4) driver now uses a different source base from ixl(4), since it will be the standard VF driver for new Intel Ethernet products going forward, including ice(4). It continues to use the iflib framework for network drivers. Since it now uses a different source code base, this commit adds a new sys/dev/iavf entry, but it re-uses the existing module name so no configuration changes are necessary. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: kbowling@ Tested by: lukasz.szczepaniak@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D28636 (cherry picked from commit ca853dee3b8f26f53d48d685f32ec0b8396369e8) (cherry picked from commit 5577aa338a675f2a465a58356894fbe24ba20407)
* ice_ddp: Update to 1.3.24.0Eric Joyner2022-10-191-1/+1
| | | | | | | | | | | | | | This version is intended to be used with the 0.29.4 version of the ice(4) driver, which will be be committed afterwards. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Reviewed by: stallamr_netapp.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D30887 (cherry picked from commit 538ef055b7ea11326ba22197537e617587a0d677) (cherry picked from commit 070f7812da16b692d4e65fdfd418654fdb42729d)
* Remove unnecessary terminating slash in iscsi module MakefileDimitry Andric2022-08-011-1/+1
| | | | | | | | | The additional slash causes double slashes in the filenames that eventually get passed to the compiler. MFC after: 3 days (cherry picked from commit dfddfe29d85c5c60b30db3c9dec32e4d8270bd49)
* Suppress -Wstrict-prototypes for several zlib filesDimitry Andric2022-07-291-0/+3
| | | | | | | | | | Clang 15 is more strict about function definitions not matching declarations, and zlib has a lot of these, but since it is contributed code (and in K&R style to boot), suppress those warnings instead. MFC after: 3 days (cherry picked from commit e83ffec3af2e71cc64348d58481c87db9efbac92)
* Enable CRC64 checksums in xz.Dag-Erling Smørgrav2022-07-131-0/+2
| | | | | | | | | Reviewed by: imp Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35668 (cherry picked from commit 038405f32f71ad8ba0280ae066417f986ede79db)
* random_fortuna, random_other: unbreak standalone module buildEugene Grosbein2022-05-032-2/+2
| | | | | | | | | This is direct commit to stable/12 as newer branches do not have the problem. PR: 263750 Reviewed by: emaste Tested by: Julian H. Stacey <jhs at berklix.com>
* Unify zlib instances into one.Xin LI2022-04-103-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a cumulative update that consists 14 commits on main by Yoshihiro Ota and myself to stable/12: Remove gzip'ed a.out support. (cherry picked from commit d4565741c6b4b256bd30aea8eb74e8a267cf6b60) Delete unneeded #include <sys/inflate.h> from sys/mips. (cherry picked from commit 880c6c1b06d203fd6b628d313b5b2658fb7135cb) cryptodeflate: Drop z_stream zbuf.state->dummy from SDT probe. (cherry picked from commit a49818787d7cff34b9ea9878e37c1c1ba221f081) Remove kgzip and kgzldr. (cherry picked from commit 5e86bd6073a2fb107318691aaa27b7e19bd45c24) Separate kernel crc32() implementation to its own header (gsb_crc32.h) and rename the source to gsb_crc32.c. (cherry picked from commit f89d2072795407d7c3afff865b988e021c1451a2) Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib. (cherry picked from commit 0ed1d6fb00b8f22c82c3f9054c6dd16eb12469d2) if_mxge: update zlib version 1.0.4 to 1.2.12. (cherry picked from commit 1dbf944a91cfccba2c18fa273f69985cd15a5081) Expose zlib's utility functions in Z_SOLO library when building kernel. This allows kernel code to reuse zlib's implementation. (cherry picked from commit a15cb219c6f2b8ed16179c2fce882a2ff327b753) Update geom_uzip to use new zlib. (cherry picked from commit 2b0cabbdaeac61bdb07909cb0ec995aba36e06b0) Update bxe(4) to use new zlib. (cherry picked from commit 92e9c0608bf161df04d14160084da2d50bcad30e) Convert DDB_CTF to use newer version of ZLIB. (cherry picked from commit 22bbc4b24270ec55c267a5b4ca4530991c3da408) Convert ng_deflate to use new zlib. (cherry picked from commit 34ff55b662d62adea206cb2b77bb064110f68e6d) GZIO: Update to use zlib 1.2.12. (cherry picked from commit 4e8671dd78cc77b31c598e83354fa6722acd4e3f) Remove zlib 1.0.4 from kernel. (cherry picked from commit 21aae72489aba9f1711c51672b3003cf8d54965d) PR: 205822 PR: 229763
* Revert "if_epair: rework"Kristof Provost2022-03-241-1/+1
| | | | | | | | | | | | | | Revert the recent performance rework of if_epair. It relies on functions like atomic_testandclear_long() which are not available on all platforms in stable/12. This reverts commits b1a3f8dccb6203036b7ee81201fd5b5a8de36f0d, fb3644ab2afe777fdd2539bc996a390443f052f1, ca7af63e88f8cc96865d45e020a57b3062631388, 092da35a0d80af7a3e5c5c22cbeddb6cffbd9524, and 7c2b681b33fc78ed06c7e9e65eeebb2ab5420586. This is a direct commit to stable/12.
* if_epair: fix build with RSS and INET or INET6 disabledSantiago Martinez2022-03-101-1/+1
| | | | | | | Reviewed by: kp MFC after: 1 week (cherry picked from commit 52bcdc5b809ea56cbdce0bd36499e4ae74780d2b)
* add overlay for enabling i2c1 on allwinner h3Andriy Gapon2022-02-091-0/+1
| | | | | | | At least on Orange Pi PC Plus it is routed to the 40-pin header, so it can used to communicate with external devices. (cherry picked from commit a471646a0802344215cd2434fcf39997112b7958)
* add overlay for enabling spi0 on allwinner h3Andriy Gapon2022-02-091-1/+2
| | | | | | | At least on Orange Pi PC Plus it is routed to the 40-pin header, so it can used to communicate with external devices. (cherry picked from commit f4a041af299c5faa4cb37eca9fc25b31259fe893)
* ipfilter: Move kernel bits to netpfilCy Schubert2022-02-071-2/+2
| | | | | | | | | | | | | | | | | Through fixes and improvements our ipfilter sources have diverged enough to warrant move from contrib into sys/netpil. Now that I'm planning on implementing MSS clamping as in iptables it makes more sense to move ipfilter to netpfil. This is the first of three commits the ipfilter move. Suggested by glebius on two occaions. Suggested by and discussed with: glebius Reviewed by: glebius, kp (for #network) Differential Revision: https://reviews.freebsd.org/D33510 (cherry picked from commit 3b9b51fe464ebb91e894742a6a0e6417e256f03a)
* ocs_fc: Add gendump and dump_to_host ioctl command support.Ram Kishore Vegesna2021-12-171-1/+2
| | | | | | | | | | | | Support to generate firmware dump. Approved by: mav(mentor) (cherry picked from commit 29e2dbd42c3e2e10e606b3414f4d0c53021d4e86) Add ocs_gendump.c to the build, missed in 29e2dbd42c3e. (cherry picked from commit d0732fa81963d336099a6b134a1eb4be867bfa8b)
* if_epair: MFC: fix module build outside of kernel build environmentEugene Grosbein2021-12-141-1/+1
| | | | (cherry picked from commit 7a382e744b0b0ba9b51dc34bfa0cd1515f744f25)
* Upgrade ENA to v2.4.1Marcin Wojtas2021-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Approved by: re ena: Remove redundant declaration of ena_log_level. GCC6 raises a -Wredundant-decl error due to duplicate declarations in ena_fbsd_log.h and ena_plat.h. Submitted by: jhb Sponsored by: Chelsio Communications (cherry picked from commit 8843787aa1bdbd10de6ba47a04489179ec2d2d3c) ena: Avoid unnecessary mbuf collapses for LLQ condition In case of Low-latency Queue, one small enough descriptor can be pushed directly to the ENA hw, thus saving one fragment. Check for this condition before performing collapse. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit c81f8c26115a64b9a97ecdb2a64e824dd839ee73) ena: Trigger reset on ena_com_prepare_tx failure All ena_com_prepare_tx errors other than ENA_COM_NO_MEM are fatal and require device reset. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 36130d2979d695dd439bc607feb00dcdb9a1937b) ena: Prevent reset after device destruction Check for ENA_FLAG_TRIGGER_RESET inside a locked context in order to avoid potential race conditions with ena_destroy_device. This aligns the reset task logic with the Linux driver. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 433ab9b6987b42b3e5b25b8b5dc7e5178c7ef9bb) ena: Add extra log messages Stay aligned with the Linux driver by adding the following logs: * inform the user about retrying queue creation * warn on non-empty ena_tx_buffer.mbuf prior to ena_tx_map_mbuf Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 77160654a162b5faa8ad7a02e18d2bef2589f868) ena: Add locking assertions ENA silently assumed that ena_up, ena_down and ena_start_xmit routines should be called within locked context. Driver's logic heavily assumes on concurrent access to those routines, so for safety and better documentation about this assumption, the locking assertions were added to the above functions. The assertion was added only for the main steps (skipping the helper functions) which can be called from multiple places including the kernel and the driver itself. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit cb98c439d66c303353a9f4abbbe9ddb51559c638) ena: Move RSS logic into its own source files Delegate RSS related functionality into separate .c/.h files in preparation for the full RSS support. While at it, reorder functions and remove prototypes for ones with internal linkage. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 986e7b9227668caf9620f207e3c1d708c87b634d) ena: Disable meta descriptor caching for netmap If LLQ is being used, `ena_tx_ctx.meta_valid` must stay enabled. This fixes netmap support on latest generation ENA HW and aligns it with the core driver behavior. As netmap doesn't support any csum offloads, the `adapter->disable_meta_caching` value can be simply passed to the HW. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit a831466830de6ab55fc03170290b313157196e81) ena: Share ena_global_lock between driver instances In order to use `ena_global_lock` in sysctl context, it must be kept outside the driver instance's software context, as sysctls can be called before attach and after detach, leading to lock use before sx_init and after sx_destroy otherwise. Solve this issue by turning `ena_global_lock` into a file scope variable, shared between all instances of the driver and associated sysctl context, and in turn initialized/destroyed in dedicated SYSINIT/SYSUNINIT functions. As a side effect, this change also fixes existing race in the reset routine, when simultaneously accessing sysctl exposed properties. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 07aff471c0de2de9a1dc5c7749c46b525bdd0201) ena: Add missing statistics Provide the following sysctl statistics in order to stay aligned with the Linux driver: * rx_ring.csum_good * tx_ring.unmask_interrupt_num Also rename the 'bad_csum' statistic name to 'csum_bad' for alignment. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 223c8cb12e951c63807300a0cbdc4a1569520b4b) ena: Implement full RSS reconfiguration Bind RX/TX queues and MSI-X vectors to matching CPUs based on the RSS bucket entries. Introduce sysctls for the following RSS functionality: - rss.indir_table: indirection table mapping - rss.indir_table_size: indirection table size - rss.key: RSS hash key (if Toeplitz used) Said sysctls are only available when compiled without `option RSS`, as kernel-side RSS support currently doesn't offer RSS reconfiguration. Migrate the hash algorithm from CRC32 to Toeplitz and change the initial hash value to 0x0 in order to match the standard Toeplitz implementation. Provide helpers for hash key inversion required for HW operations. Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 6d1ef2abd330fac4057f092abbbdc28a568b4327) ena: fix building in-kernel driver When building ENA as compiled into the kernel, the driver would fail to build. Resolve the problem by introducing the following changes: 1. Add missing `ena_rss.c` entry in `sys/conf/files`. 2. Prevent SYSCTL_ADD_INT from throwing an assert due to an extra CTLTYPE_INT flag. Fixes: 986e7b92276 ("ena: Move RSS logic into its own source files") Fixes: 6d1ef2abd33 ("ena: Implement full RSS reconfiguration") Submitted by: Artur Rojek <ar@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon, Inc. MFC after: 1 week (cherry picked from commit a3f0d18237bdcf272461d3b4b682de384c572144) ena: Update driver version to v2.4.1 Some of the changes in this release: * Hardware RSS hash key reconfiguration and indirection table reconfiguration support. * Full kernel RSS support. * Extra statistic counters. * Netmap support for ENAv3. * Locking assertions. * Extra log messages. * Reset handling fixes. Submitted by: Michal Krawczyk <mk@semihalf.com> Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit 42c7760be3ea420668f625f2064ae347aa7e818e)
* e1000: remove duplicated phy codesGuinan Sun2021-09-241-3/+3
| | | | | | | | | | | | | | | | | | | Add two files base.c and base.h to reduce the redundancy in the silicon family code. Remove the code duplication from e1000_82575 files. Clean family specific functions from base. Fix up a stray and duplicate function declaration. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Sasha Neftin <sasha.neftin@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Reviewed-by: Wei Zhao <wei.zhao1@intel.com> Approved by: imp Obtained from: DPDK (44dddd14059f151f39f7e075b887decfc9a10f11) MFC after: 1 week (cherry picked from commit 6b9d35fac12bf657cd1df8f1521c70704ff62b61)
* ice(4): Update to version 0.28.1-kEric Joyner2021-09-201-1/+1
| | | | | | | | | | | | | | | | | | This updates the driver to align with the version included in the "Intel Ethernet Adapter Complete Driver Pack", version 25.6. There are no major functional changes; this mostly contains bug fixes and changes to prepare for new features. This version of the driver uses the previously committed ice_ddp package 1.3.19.0. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D28640 (cherry picked from commit d08b8680e12ad692736c84238dcf45c70c228914)
* ice_ddp: Update package file to 1.3.19.0Eric Joyner2021-09-201-1/+1
| | | | | | | | | This package is intended to be used with ice(4) version 0.28.1-k. That update will happen in a forthcoming commit. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Sponsored by: Intel Corporation (cherry picked from commit a7ac518bff64d48cf262c60c4dc57eef34e74a07)
* AMD-vi: Fix IOMMU device interrupts being overriddenKa Ho Ng2021-09-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AMD-vi PCI-e passthrough will lead to the following lines in dmesg: "kernel: CPU0: local APIC error 0x40 ivhd0: Error: completion failed tail:0x720, head:0x0." After some tracing, the problem is due to the interaction with amdvi_alloc_intr_resources() and pci_driver_added(). In ivrs_drv, the identification of AMD-vi IVHD is done by walking over the ACPI IVRS table and ivhdX device_ts are added under the acpi bus, while there are no driver handling the corresponding IOMMU PCI function. In amdvi_alloc_intr_resources(), the MSI intr are allocated with the ivhdX device_t instead of the IOMMU PCI function device_t. bus_setup_intr() is called on ivhdX. the IOMMU pci function device_t is only used for pci_enable_msi(). Since bus_setup_intr() is not called on IOMMU pci function, the IOMMU PCI function device_t's dinfo->cfg.msi is never updated to reflect the supposed msi_data and msi_addr. So the msi_data and msi_addr stay in the value 0. When pci_driver_added() tried to loop over the children of a pci bus, and do pci_cfg_restore() on each of them, msi_addr and msi_data with value 0 will be written to the MSI capability of the IOMMU pci function, thus explaining the errors in dmesg. This change includes an amdiommu driver which currently does attaching, detaching and providing DEVMETHODs for setting up and tearing down interrupt. The purpose of the driver is to prevent pci_driver_added() from calling pci_cfg_restore() on the IOMMU PCI function device_t. The introduction of the amdiommu driver handles allocation of an IRQ resource within the IOMMU PCI function, so that the dinfo->cfg.msi is populated. This has been tested on EPYC Rome 7282 with Radeon 5700XT GPU. Sponsored by: The FreeBSD Foundation Reviewed by: jhb Approved by: philip (mentor) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D28984 (cherry picked from commit 74ada297e8978b8efda3dffdd1bb24aee7c5faa4)
* Revert the changes that removed support for old gcc, as stable/12 stillDimitry Andric2021-09-031-0/+2
| | | | | | | | | | | | uses gcc 4.2.1 for mips, powerpc and sparc64. Revert "Revert part of r360964" This reverts commit 2ebf10e7a1ced5d3dc4059d0595743277464d915. Revert "Remove tests for obsolete compilers in the build system" This reverts commit a606cb388f975561c37dbabc2fee82c27ef09929.
* Remove tests for obsolete compilers in the build systemEric van Gyzen2021-09-021-2/+0
| | | | | | | | | | | | Assume gcc is at least 6.4, the oldest xtoolchain in the ports tree. Assume clang is at least 6, which was in 11.2-RELEASE. Drop conditions for older compilers. Reviewed by: imp (earlier version), emaste, jhb Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24802 (cherry picked from commit fac6dee9eb58b2b558fec2aea749460ca623f6d6)
* Retire CLANG_NO_IAS34Ed Maste2021-09-021-2/+0
| | | | | | | | | | | CLANG_NO_IAS34 was introduced in r276696 to allow then-HEAD kernels to be built with clang 3.4 in FreeBSD 10. As FreeBSD 11 and later includes a version of Clang with a sufficiently capable integrated assembler we do not need the workaround any longer. Sponsored by: The FreeBSD Foundation (cherry picked from commit ea96b3de2b3e4492e6bba3ab35961e3531a006bd)
* igc(4): Introduce new driver for the Intel I225 Ethernet controller.Peter Grehan2021-08-232-0/+13
| | | | | | | | | | | | | | | | | | | | This controller supports 2.5G/1G/100MB/10MB speeds, and allows tx/rx checksum offload, TSO, LRO, and multi-queue operation. The driver was derived from code contributed by Intel, and modified by Netgate to fit into the iflib framework. Thanks to Mike Karels for testing and feedback on the driver. Reviewed by: bcr (manpages), kbowling, scottl, erj Relnotes: yes Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30668 For stable/12, CTLFLAG_NEEDGIANT removed and if_foreach_llmaddr() replaced with if_multiaddr_array(). (cherry picked from commit 517904de5ccac643589c71ac0d2751797f89e4f9)
* pf: syncookie supportKristof Provost2021-07-271-1/+1
| | | | | | | | | | | | | | | | | | Import OpenBSD's syncookie support for pf. This feature help pf resist TCP SYN floods by only creating states once the remote host completes the TCP handshake rather than when the initial SYN packet is received. This is accomplished by using the initial sequence numbers to encode a cookie (hence the name) in the SYN+ACK response and verifying this on receipt of the client ACK. Reviewed by: kbowling Obtained from: OpenBSD MFC after: 1 week Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D31138 (cherry picked from commit 8e1864ed07121b479b95d7e3a5931a9e0ffd4713)
* Remove a use of a negative array index from fxp(4).Mark Johnston2021-06-221-2/+0
| | | | | | | | | | | | This fixes a warning seen when compiling amd64 GENERIC with clang 7. Also remove the workaround added in r337324. clang 7 and gcc 4.2 generate the same code with or without the code change. Reviewed by: imp (previous version) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D18603 (cherry picked from commit 0e4a3d93eefdc9730f572e8277b100eff6cf3491)
* Get rid of i386 ref here as linux64 is a 64-bit module.Dmitry Chagin2021-06-101-5/+2
| | | | | | | Reviewed By: emaste, imp Differential Revision: https://reviews.freebsd.org/D29412 (cherry picked from commit 88588c4b7611a39cdf965c3c07d8fcc13ed553b4)
* Fix i386 linux module after r367395.Tijl Coosemans2021-06-101-2/+2
| | | | | | | | | | | | In r367395 parts of machine dependent linux_dummy.c were moved to a new machine independent file sys/compat/linux/linux_dummy.c and the existing linux_dummy.c was renamed to linux_dummy_machdep.c. Add linux_dummy_machdep.c to the linux module for i386. Rename sys/amd64/linux32/linux_dummy.c for consistency. Add the new linux_dummy.c to the linux module for i386. (cherry picked from commit df4ca45cf943fb62c7771e479f5f999570ec6928)
* Direct commit:Dmitry Chagin2021-06-103-2/+14
| | | | | | | | | | | MFC r367395 (e9b13c6612fea4e74f0c9c543e21d29d91a24dff) by cem: linux(4): Deduplicate unimpl/dummy syscall handlers No functional change. Reviewed by: emaste, trasz Differential Revision: https://reviews.freebsd.org/D27099
* pf: Introduce nvlist variant of DIOCADDRULEKristof Provost2021-05-071-1/+1
| | | | | | | | | | | | This will make future extensions of the API much easier. The intent is to remove support for DIOCADDRULE in FreeBSD 14. Reviewed by: markj (previous version), glebius (previous version) MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29557 (cherry picked from commit 5c62eded5a11ebdb1d57134d923596e2b04e9466)
* MFC ebe5cf355dca:Hans Petter Selasky2021-03-231-0/+1
| | | | | | | | | | | Implement basic support for allocating memory from a specific numa node in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D29077 Reviewed by: markj@ and kib@ Sponsored by: Mellanox Technologies // NVIDIA Networking (cherry picked from commit ebe5cf355dca1d7827a70b99a9d9c4f97f78691d)
* Add warning to the Linuxulator makefiles that building it outside of aDmitry Chagin2021-03-205-0/+20
| | | | | | | | | | kernel does not make sence. PR: 222861 MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D20179 (cherry picked from commit 6e4cf32e95841b4c3ef0caeb80802bf528a35cd0)
* netgraph/ng_vlan_rotate: IEEE 802.1ad VLAN manipulation netgraph typeLutz Donnerhacke2021-02-252-1/+8
| | | | | | | | | | | | | | | | | | | | | This node is part of an A10-NSP (L2-BSA) development. Carrier networks tend to stack three or more tags for internal purposes and therefore hiding the service tags deep inside of the stack. When decomposing such an access network frame, the processing order is typically reversed: First distinguish by service, than by other means. This new netgragh node allows to bring the relevant VLAN in front (to the out-most position). This way other netgraph nodes (like ng_vlan) can operate on this specific type. Reviewed by: manpages (gbe), brueffer (manpages), kp Relnotes: yes Sponsored by: IKS Service GmbH Differential Revision: https://reviews.freebsd.org/D22076 (cherry picked from commit cfd6422a5217410fbd66f7a7a8a64d9d85e61229)
* qatfw: Fix firmware autoloading for qat_c2xxx devicesMark Johnston2021-01-061-2/+2
| | | | | | | | r368193 was suppsed to rename the MOF firmware image, but the qat_c2xxxfw makefile defined the two images in the wrong order so the MMP image was renamed instead. (cherry picked from commit 3b216bfb6cce24aa84519315138be8d23ac5d613)
* Also pass SKEIN_USE_ASM to the assembler, via AFLAGSEd Maste2021-01-021-1/+1
| | | | (cherry picked from commit f2b86886645fc3fa331543565268808b80d5abdb)
* Apply C SKEIN_LOOP setting only to skein_block.cEd Maste2021-01-021-1/+1
| | | | | | | Otherwise if assembling skein_block_asm.s with Clang's integrated assembler we can pass conflicting SKEIN_LOOP settings (via CFLAGS and ACFLAGS). (cherry picked from commit 310e81aede569411ad005f6d6e7259ae0cdafd82)
* MFC r368391: if_em.ko: fix module build outside of kernel build environmentEugene Grosbein2020-12-181-1/+1
| | | | Notes: svn path=/stable/12/; revision=368760
* MFC r368193:Mark Johnston2020-12-035-5/+5
| | | | | | | qat: Fix firmware module autoloading Notes: svn path=/stable/12/; revision=368304
* MFC r366930, r366936, r366993 and r366994:Hans Petter Selasky2020-12-012-0/+13
| | | | | | | | | | | | | Factor out generic IP over infiniband, IPoIB, definitions and code into net/if_infiniband.c and net/infiniband.h . No functional change intended. Differential Revision: https://reviews.freebsd.org/D26254 Reviewed by: melifaro@ Sponsored by: Mellanox Technologies // NVIDIA Networking Notes: svn path=/stable/12/; revision=368227
* MFC: Merge ENA v2.3.0 driverMarcin Wojtas2020-11-251-2/+2
| | | | | | | | | | | | | | | | r367805 Update ENA driver version to v2.3.0 r367803 Rename descriptions of the supported ENA devices r367802 Add ENI metrics for the ENA driver r367801 Add SPDX license tag to the ENA driver files r367800 Add Rx offsets support for the ENA driver r367799 Adjust ENA driver files to latest ena-com changes r367795 Fix completion descriptors alignment for the ENA Obtained from: Semihalf Sponsored by: Amazon, Inc Notes: svn path=/stable/12/; revision=368012
* MFC r367428 and r367495.Navdeep Parhar2020-11-243-3/+3
| | | | | | | | | | | | | | | | | r367428: cxgbe(4): Update firmwares to 1.25.0.40. This fixes a potential crash in firmware 1.25.0.0 on the passive open side during TOE operation. r367495: cxgbe(4): Add the firmware binaries missing in r367428. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications Notes: svn path=/stable/12/; revision=367971
* MFC r364860 and r366996:Hans Petter Selasky2020-11-101-1/+2
| | | | | | | | | | | | Implement extensible arrays API using the existing radix tree implementation in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D25101 Reviewed by: kib @ Sponsored by: Mellanox Technologies // NVIDIA Networking Notes: svn path=/stable/12/; revision=367556
* MFC r367387, r367422:Mark Johnston2020-11-097-0/+66
| | | | | | | Add firmware modules for qat(4) Notes: svn path=/stable/12/; revision=367526
* MFC r367386:Mark Johnston2020-11-092-0/+21
| | | | | | | Add qat(4) Notes: svn path=/stable/12/; revision=367525
* MFC r366861: build vmware modules on arm64Ed Maste2020-11-022-2/+5
| | | | Notes: svn path=/stable/12/; revision=367260
* MFC r362384,r362385,r362386,r362392:Michal Meloun2020-10-311-1/+5
| | | | | | | | | | | | | | | | | | | r362384: Add DTB files for ARMADA 8040 based boards. r362385: Add specialized gpio driver for ARMADA 8k SoC. Older marvell gpio blocks are to different for reusing/enhancing existing frivers. r362386: Add specific stub for ARMADA 8k SoC to Marvell RTC driver. The AXI bridge is different between ARMADA 38x and 8K, and both platforms needs specific setup to mitigate HW issues with accessing RTC registers. r362392: Adapt ARMADA8k PCIe driver to newly imported 5.7 DT. - temporarily disable handling with phy, we don't have driver for it yet - always clear cause for administartive interrupt. While I'm in, fix style(9) (mainly whitespace). Notes: svn path=/stable/12/; revision=367216
* MFC r365861 and r365872.Navdeep Parhar2020-09-213-3/+3
| | | | | | | | | | | | | | | r365861: cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0. r365872: cxgbe(4): add the firmware binaries instead of the empty files that were added in r365861. Obtained from: Chelsio Communications Sponsored by: Chelsio Communications Notes: svn path=/stable/12/; revision=365937
* ice: MFC commits for update to 0.26.16Eric Joyner2020-09-141-1/+1
| | | | | | | | | | | These include r365332, r365550, and r365617, which update both the ice_ddp package and the ice(4) driver itself. Relnotes: yes Sponsored by: Intel Corporation Notes: svn path=/stable/12/; revision=365731