#
0f1bf1c2 |
| 21-Jan-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
umb: Introduce the USB umb(4) network driver
This includes the port of a driver originally from OpenBSD, later ported to NetBSD by the author:
* The umb(4) kernel driver * The umbctl(8) companion t
umb: Introduce the USB umb(4) network driver
This includes the port of a driver originally from OpenBSD, later ported to NetBSD by the author:
* The umb(4) kernel driver * The umbctl(8) companion tool
This driver supports USB network devices implementing the Mobile Broadband Interface Model (MBIM), often found in modern (internal) USB models for 4G/LTE mobile broadband access.
It is currently limited to IPv4.
umbctl has to be used to display or set MBIM cellular modem interface parameters (4G/LTE).
Differential Revision: https://reviews.freebsd.org/D48167 Approved by: adrian, zlei Sponsored by: FreeBSD Foundation PR: kern/263783 Submitted by: Pierre Pronchery <khorben@defora.org>
show more ...
|
#
926d2ead |
| 11-Jan-2025 |
Gleb Smirnoff <glebius@FreeBSD.org> |
netlink: some refactoring of NETLINK_GENERIC layer
- Statically initialize control family/group. This removes extra startup code and provides a strong guarantee that they reside at the 0 index of t
netlink: some refactoring of NETLINK_GENERIC layer
- Statically initialize control family/group. This removes extra startup code and provides a strong guarantee that they reside at the 0 index of the respective arrays. Before a genl_register_family() with a higher SYSINIT order could try to hijack index 0.
- Remove the family_id field completely. Now the family ID as well as group ID are array indices and there is basically no place for a mistake. Previous code had a bug where a KPI user could induce an ID mismatch.
- Merge netlink_generic_kpi.c to netlink_generic.c. Both files are small and now there is more dependency between the control family and the family allocator. Ok'ed by melifaro@.
Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D48316
show more ...
|
#
b2b974f7 |
| 11-Jan-2025 |
Mark Johnston <markj@FreeBSD.org> |
clock: Simplify subr_ticks and rename
- We can use builtin constants for the size of int and long to simplify definitions. - The file should have a .S prefix since we want to run it through the
clock: Simplify subr_ticks and rename
- We can use builtin constants for the size of int and long to simplify definitions. - The file should have a .S prefix since we want to run it through the preprocessor, though apparently this happens anyway with .s... - Move ticks and ticksl from .data to .bss.
Reported by: jrtc27 Reviewed by: jrtc27, kib, emaste Fixes: 6b82130e6c9a ("clock: Add a long ticks variable, ticksl") Differential Revision: https://reviews.freebsd.org/D48420
show more ...
|
#
6b82130e |
| 10-Jan-2025 |
Mark Johnston <markj@FreeBSD.org> |
clock: Add a long ticks variable, ticksl
For compatibility with Linux, it's useful to have a tick counter of width sizeof(long), but our tick counter is an int. Currently the linuxkpi tries paper o
clock: Add a long ticks variable, ticksl
For compatibility with Linux, it's useful to have a tick counter of width sizeof(long), but our tick counter is an int. Currently the linuxkpi tries paper over this difference, but this cannot really be done reliably, so it's desirable to have a wider tick counter. This change introduces ticksl, keeping the existing ticks variable.
Follow a suggestion from kib to avoid having to maintain two separate counters and to avoid converting existing code to use ticksl: change hardclock() to update ticksl instead of ticks, and then use assembler directives to make ticks and ticksl overlap such that loading ticks gives the bottom 32 bits. This makes it possible to use ticksl in the linuxkpi without having to convert any native code, and without making hardclock() more complicated or expensive. Then, the linuxkpi can be modified to use ticksl instead of ticks.
Reviewed by: olce, kib, emaste MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D48383
show more ...
|
#
2834fd2a |
| 09-Jan-2025 |
Gleb Smirnoff <glebius@FreeBSD.org> |
kgssapi: remove the debug module
Its build was disabled since original bulk check-in in 2008. Today it fails to compile due to multiple errors. I also tried to build it on stable/10, and that fail
kgssapi: remove the debug module
Its build was disabled since original bulk check-in in 2008. Today it fails to compile due to multiple errors. I also tried to build it on stable/10, and that failed, too. I guess it wasn't buildable since initial check-in.
show more ...
|
Revision tags: release/14.2.0 |
|
#
fcdb520c |
| 07-Oct-2024 |
Kristof Provost <kp@FreeBSD.org> |
pf: nat64
Since the IPv6 madness is not enough introduce NAT64 -- which is actually "af-to" a generic IP version translator for pf(4). Not everything perfect yet but lets fix these things in the tre
pf: nat64
Since the IPv6 madness is not enough introduce NAT64 -- which is actually "af-to" a generic IP version translator for pf(4). Not everything perfect yet but lets fix these things in the tree. Insane amount of work done by sperreault@, mikeb@ and reyk@. Looked over by mcbride@ henning@ and myself at eurobsdcon. OK mcbride@ and general put it in from deraadt@
Obtained from: OpenBSD, claudio <claudio@openbsd.org>, 97326e01c9 Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D47786
show more ...
|
#
8f7835ac |
| 06-Dec-2024 |
John Baldwin <jhb@FreeBSD.org> |
Remove SOC FPGA drivers
The drivers have been disconnected from the build since the removal of the SOCFPGA kernel configs.
Reviewed by: manu, imp, andrew Sponsored by: AFRL, DARPA Differential Revi
Remove SOC FPGA drivers
The drivers have been disconnected from the build since the removal of the SOCFPGA kernel configs.
Reviewed by: manu, imp, andrew Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D47885
show more ...
|
#
0b4e3291 |
| 02-Dec-2024 |
Christos Margiolis <christos@FreeBSD.org> |
sound: Merge ac97 and ac97_patch
No functional change intended.
Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D47732
|
#
5c65a0a9 |
| 13-Nov-2024 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@1c9a4c8cb
Notable upstream pull request merges: #16244 acb6e71ed Added output to `zpool online` and `offline` #16684 94a03dd1e Pack dmu_buf_impl_t by 16 bytes #16690 6187b1
zfs: merge openzfs/zfs@1c9a4c8cb
Notable upstream pull request merges: #16244 acb6e71ed Added output to `zpool online` and `offline` #16684 94a03dd1e Pack dmu_buf_impl_t by 16 bytes #16690 6187b1943 On the first vdev open ignore impossible ashift hints #16692 673efbbf5 zdb: add extra -T flag to show histograms of BRT refcounts #16693 2bf152021 Fix gcc uninitialized warning in FreeBSD zio_crypt.c #16694 b16e09619 Reduce dirty records memory usage #16701 5945676bc ZFS send should use spill block prefetched from send_reader_thread #16734 1c9a4c8cb Fix user properties output for zpool list
Obtained from: OpenZFS OpenZFS commit: 1c9a4c8cb44d5f865c29e3df3f019872329554b3
show more ...
|
#
24ae172a |
| 07-Nov-2024 |
Vladimir Kondratyev <wulf@FreeBSD.org> |
ng_ubt(4): do not attach Realtek 87XX/88XX adaptors in bootloader mode.
Attempt to initialize FreeBSD bluetooth stack while such a device is in bootloader mode locks the adapter hardly so it require
ng_ubt(4): do not attach Realtek 87XX/88XX adaptors in bootloader mode.
Attempt to initialize FreeBSD bluetooth stack while such a device is in bootloader mode locks the adapter hardly so it requires power on/off cycle to restore.
This change blocks ng_ubt attachment unless operational firmware is loaded thus preventing the lock up.
Sponsored by: Future Crew LLC MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D46738
show more ...
|
#
d438b4ef |
| 05-Nov-2024 |
Shailend Chand <shailend@google.com> |
gve: Add DQO RDA support
DQO is the descriptor format for our next generation virtual NIC. It is necessary to make full use of the hardware bandwidth on many newer GCP VM shapes.
One major change w
gve: Add DQO RDA support
DQO is the descriptor format for our next generation virtual NIC. It is necessary to make full use of the hardware bandwidth on many newer GCP VM shapes.
One major change with DQO from its predecessor GQI is that it uses dual descriptor rings for both TX and RX queues.
The TX path uses a descriptor ring to send descriptors to HW, and receives packet completion events on a TX completion ring.
The RX path posts buffers to HW using an RX descriptor ring and receives incoming packets on an RX completion ring.
In GQI-QPL, the hardware could not access arbitrary regions of guest memory, which is why there was a pre-negotitated bounce buffer (QPL: Queue Page List). DQO-RDA has no such limitation.
"RDA" is in contrast to QPL and stands for "Raw DMA Addressing" which just means that HW does not need a fixed bounce buffer and can DMA arbitrary regions of guest memory.
A subsequent patch will introduce the DQO-QPL datapath that uses the same descriptor format as in this patch, but will have a fixed bounce buffer.
Signed-off-by: Shailend Chand <shailend@google.com> Reviewed-by: markj MFC-after: 2 weeks Differential Revision: https://reviews.freebsd.org/D46690
show more ...
|
#
9709bda0 |
| 22-Oct-2024 |
Colin Percival <cperciva@FreeBSD.org> |
GPIO: Add ACPI _AEI support
Changes to acpi_gpiobus.c handle discovering and parsing the _AEI objects and storing necessary data in device ivars. A new gpioaei.c file implements the device, which s
GPIO: Add ACPI _AEI support
Changes to acpi_gpiobus.c handle discovering and parsing the _AEI objects and storing necessary data in device ivars. A new gpioaei.c file implements the device, which simply requests an interrupt when the pin is triggered and invokes the appropriate _Exx or _Lxx ACPI method.
This makes the GPIO "power button" work on arm64 Graviton systems, allowing EC2 "Stop"/"Reboot" instance calls to be handled cleanly. (Prior to this change, those requests would time out after 4 minutes and the instance would be forcibly killed.)
Reviwed by: imp, andrew, Ahmad Khalifa MFC after: 3 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47253 Co-authored-by: Andrew Turner <andrew@FreeBSD.org>
show more ...
|
#
96f1dfc1 |
| 08-Oct-2024 |
Kristof Provost <kp@FreeBSD.org> |
acpi_sbl_wmi: add a driver to trigger SBL firmware updates
Expose a sysctl knob to inform the SBL bootloader that a firmware update is available and should be applied on the next reboot.
See also:
acpi_sbl_wmi: add a driver to trigger SBL firmware updates
Expose a sysctl knob to inform the SBL bootloader that a firmware update is available and should be applied on the next reboot.
See also: https://slimbootloader.github.io/security/firmware-update.html#triggering-firmware-update Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D47035
show more ...
|
#
7a7741af |
| 11-Oct-2024 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@b10992582
Notable upstream pull request merges: #9416 -multiple zio_compress: introduce max size threshold #10018 a10e552b9 Adding Direct IO Support #15147 e419a63bf xattr
zfs: merge openzfs/zfs@b10992582
Notable upstream pull request merges: #9416 -multiple zio_compress: introduce max size threshold #10018 a10e552b9 Adding Direct IO Support #15147 e419a63bf xattr dataset prop: change defaults to sa #15454 7e957fde7 send/recv: open up additional stream feature flags #15810 0d77e738e Defer resilver only when progress is above a threshold #15921 3cf2bfa57 Allocate zap_attribute_t from kmem instead of stack #16483 -multiple dmu_objset: replace dnode_hash impl with cityhash4 #16485 8be2f4c3d zio_resume: log when unsuspending the pool #16491 88433e640 sys/types32.h: Remove struct timeval32 from libspl header #16496 f245541e2 zfs_file: implement zfs_file_deallocate for FreeBSD 14 #16511 308f7c2f1 Fix an uninitialized data access #16529 29c9e6c32 Fix handling of DNS names with '-' in them for sharenfs #16531 ddf5f34f0 Avoid fault diagnosis if multiple vdevs have errors #16539 6f50f8e16 zfs_log: add flex array fields to log record structs #16546 d40d40913 Evicting too many bytes from MFU metadata #16551 3014dcb76 Reduce and handle EAGAIN errors on AIO label reads #16554 80645d658 FreeBSD: restore zfs_znode_update_vfs() #16565 832f66b21 FreeBSD: Sync taskq_cancel_id() returns with Linux #16567 48d1be254 Properly release key in spa_keystore_dsl_key_hold_dd() #16569 141368a4b Restrict raidz faulted vdev count #16583 c84a37ae9 lua: add flex array field to TString type #16584 86737c592 Avoid computing strlen() inside loops #16587 d34d4f97a snapdir: add 'disabled' value to make .zfs inaccessible #16593 224393a32 feature: large_microzap #16597 412105977 Temporarily disable Direct IO by default #16605 4ebe674d9 ARC: Cache arc_c value during arc_evict()
Backported pull request merges: #16613 ab777f436 Return boolean_t in inline functions of lib/libspl/include/sys/uio.h #16616 efeb60b86 FreeBSD: ignore some includes when not building kernel #16635 ---TBD--- zdb: fix printf format in dump_zap()
Obtained from: OpenZFS OpenZFS commit: b109925820fb79db3e37670c159977f03edd950f OpenZFS tag: 2.3.0-rc1
show more ...
|
#
32b0830a |
| 21-Sep-2024 |
Siva Mahadevan <me@svmhdvn.name> |
conf: make ZFS depend on XDR sources
ZFS nvpair.c source file depends on XDR unconditionally. This fixes the ZFS build with NFSD kernel options disabled.
Reviewed by: imp Pull Request: https://gith
conf: make ZFS depend on XDR sources
ZFS nvpair.c source file depends on XDR unconditionally. This fixes the ZFS build with NFSD kernel options disabled.
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1429
show more ...
|
Revision tags: release/13.4.0 |
|
#
92adaa58 |
| 08-Jul-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
gpiobus(4): Add an acpi variant of gpiobus
This currently only implements the address space handler and attempts to configure pins with flags obtained from ACPI.
Reviewed by: wulf MFC after: 1 mont
gpiobus(4): Add an acpi variant of gpiobus
This currently only implements the address space handler and attempts to configure pins with flags obtained from ACPI.
Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1359
show more ...
|
#
e2df9bb4 |
| 09-Sep-2024 |
Martin Matuska <mm@FreeBSD.org> |
zfs: merge openzfs/zfs@b10992582
Notable upstream pull request merges: #15892 -multiple Fast Dedup: Introduce the FDT on-disk format and feature flag #15893 -multiple Fast Dedup: “flat” DDT entry
zfs: merge openzfs/zfs@b10992582
Notable upstream pull request merges: #15892 -multiple Fast Dedup: Introduce the FDT on-disk format and feature flag #15893 -multiple Fast Dedup: “flat” DDT entry format #15895 -multiple Fast Dedup: FDT-log feature #16239 6be8bf555 zpool: Provide GUID to zpool-reguid(8) with -g #16277 -multiple Fast Dedup: prune unique entries #16316 5807de90a Fix null ptr deref when renaming a zvol with snaps and snapdev=visible #16343 77a797a38 Enable L2 cache of all (MRU+MFU) metadata but MFU data only #16446 83f359245 FreeBSD: fix build without kernel option MAC #16449 963e6c9f3 Fix incorrect error report on vdev attach/replace #16505 b10992582 spa_prop_get: require caller to supply output nvlist
Obtained from: OpenZFS OpenZFS commit: b109925820fb79db3e37670c159977f03edd950f
show more ...
|
#
12a6257a |
| 19-Aug-2024 |
Andrew Turner <andrew@FreeBSD.org> |
sys/conf: Introduce NOSAN_CFLAGS and NOSAN_C
To simplify disabling the kernel sanitizers in some files add NOSAN_CFLAGS and NOSAN_C variables. These are CFLAGS and NORMAL_C with the sanitizer flags
sys/conf: Introduce NOSAN_CFLAGS and NOSAN_C
To simplify disabling the kernel sanitizers in some files add NOSAN_CFLAGS and NOSAN_C variables. These are CFLAGS and NORMAL_C with the sanitizer flags removed.
While here add MSAN_CFLAGS to simplify keeping KMSAN in kern_kcov.c
Reviewed by: khng, brooks, imp, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45498
show more ...
|
#
8aaffd78 |
| 14-Aug-2024 |
Igor Ostapenko <pm@igoro.pro> |
Add dummymbuf module for testing purposes
Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D45928
|
#
e23731db |
| 22-Jul-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5en: add IPSEC_OFFLOAD support
Right now, only IPv4 transport mode, with aes-gcm ESP, is supported. Driver also cooperates with NAT-T, and obeys socket policies, which makes IKEd like StrongSwan
mlx5en: add IPSEC_OFFLOAD support
Right now, only IPv4 transport mode, with aes-gcm ESP, is supported. Driver also cooperates with NAT-T, and obeys socket policies, which makes IKEd like StrongSwan working.
Sponsored by: NVIDIA networking
show more ...
|
#
6aa98f78 |
| 29-Jul-2024 |
Mark Johnston <markj@FreeBSD.org> |
conf: Remove kernel stack swapping support, part 12
Remove the NO_SWAPPING option. There is still some code in vm_swapout.c, but it relates to RACCT handling. Remove the option and make compilatio
conf: Remove kernel stack swapping support, part 12
Remove the NO_SWAPPING option. There is still some code in vm_swapout.c, but it relates to RACCT handling. Remove the option and make compilation of vm_swapout.c conditional on RACCT.
Tested by: pho Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D46130
show more ...
|
#
ec84a986 |
| 29-Jul-2024 |
Mark Johnston <markj@FreeBSD.org> |
vm: Remove kernel stack swapping support, part 11
- Remove sysctls that control stack swapping, update documentation. - Remove vm_swapout_dummy.c, which serves no purpose now.
Tested by: pho Review
vm: Remove kernel stack swapping support, part 11
- Remove sysctls that control stack swapping, update documentation. - Remove vm_swapout_dummy.c, which serves no purpose now.
Tested by: pho Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D46129
show more ...
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0, release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
ef2a572b |
| 22-Aug-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
ipsec_offload: kernel infrastructure
Inline IPSEC offload moves almost whole IPSEC processing from the CPU/MCU and possibly crypto accelerator, to the network card.
The transmitted packet content i
ipsec_offload: kernel infrastructure
Inline IPSEC offload moves almost whole IPSEC processing from the CPU/MCU and possibly crypto accelerator, to the network card.
The transmitted packet content is not touched by CPU during TX operations, kernel only does the required policy and security association lookups to find out that given flow is offloaded, and then packet is transmitted as plain text to the card. For driver convenience, a metadata is attached to the packet identifying SA which must process the packet. Card does encryption of the payload, padding, calculates authentication, and does the reformat according to the policy.
Similarly, on receive, card does the decapsulation, decryption, and authentification. Kernel receives the identifier of SA that was used to process the packet, together with the plain-text packet.
Overall, payload octets are only read or written by card DMA engine, removing a lot of memory subsystem overhead, and saving CPU time because IPSEC algos calculations are avoided.
If driver declares support for inline IPSEC offload (with the IFCAP2_IPSEC_OFFLOAD capability set and registering method table struct if_ipsec_accel_methods), kernel offers the SPD and SAD to driver. Driver decides which policies and SAs can be offloaded based on hardware capacity, and acks/nacks each SA for given interface to kernel. Kernel needs to keep this information to make a decision to skip software processing on TX, and to assume processing already done on RX. This shadow SPD/SAD database of offloads is rooted from policies (struct secpolicy accel_ifps, struct ifp_handle_sp) and SAs (struct secasvar accel_ipfs, struct ifp_handle_sav).
Some extensions to the PF_KEY socket allow to limit interfaces for which given SP/SA could be offloaded (proposed for offload). Also, additional statistics extensions allow to observe allocation/octet/use counters for specific SA.
Since SPs and SAs are typically instantiated in non-sleepable context, while offloading them into card is expected to require costly async manipulations of the card state, calls to the driver for offload and termination are executed in the threaded taskqueue. It also solves the issue of allocating resources needed for the offload database. Neither ipf_handle_sp nor ipf_handle_sav do not add reference to the owning SP/SA, the offload must be terminated before last reference is dropped. ipsec_accel only adds transient references to ensure safe pointer ownership by taskqueue.
Maintaining the SA counters for hardware-accelerated packets is the duty of the driver. The helper ipsec_accel_drv_sa_lifetime_update() is provided to hide accel infrastructure from drivers which would use expected callout to query hardware periodically for updates.
Reviewed by: rscheff (transport, stack integration), np Sponsored by: NVIDIA networking Differential revision: https://reviews.freebsd.org/D44219
show more ...
|
#
5ed91e78 |
| 10-Jul-2024 |
Emmanuel Vadot <manu@FreeBSD.org> |
conf: hidmap is always needed for hms
So bring it in when hms is in the kernel config
Fixes: 13d00a43cba4 ("conf: Add usbhid and hidbus to GENERIC* kernel configs") Sponsored by: Beckhoff Automatio
conf: hidmap is always needed for hms
So bring it in when hms is in the kernel config
Fixes: 13d00a43cba4 ("conf: Add usbhid and hidbus to GENERIC* kernel configs") Sponsored by: Beckhoff Automation GmbH & Co. KG
show more ...
|
#
e97ad33a |
| 06-Dec-2022 |
Doug Rabson <dfr@FreeBSD.org> |
Add an implementation of the 9P filesystem
This is derived from swills@ fork of the Juniper virtfs with many changes by me including bug fixes, style improvements, clearer layering and more consiste
Add an implementation of the 9P filesystem
This is derived from swills@ fork of the Juniper virtfs with many changes by me including bug fixes, style improvements, clearer layering and more consistent logging. The filesystem is renamed to p9fs to better reflect its function and to prevent possible future confusion with virtio-fs.
Several updates and fixes from Juniper have been integrated into this version by Val Packett and these contributions along with the original Juniper authors are credited below.
To use this with bhyve, add 'virtio_p9fs_load=YES' to loader.conf. The bhyve virtio-9p device allows access from the guest to files on the host by mapping a 'sharename' to a host path. It is possible to use p9fs as a root filesystem by adding this to /boot/loader.conf:
vfs.root.mountfrom="p9fs:sharename"
for non-root filesystems add something like this to /etc/fstab:
sharename /mnt p9fs rw 0 0
In both examples, substitute the share name used on the bhyve command line.
The 9P filesystem protocol relies on stateful file opens which map protocol-level FIDs to host file descriptors. The FreeBSD vnode interface doesn't really support this and we use heuristics to guess the right FID to use for file operations. This can be confused by privilege lowering and does not guarantee that the FID created for a given file open is always used for file operations, even if the calling process is using the file descriptor from the original open call. Improving this would involve changes to the vnode interface which is out-of-scope for this import.
Differential Revision: https://reviews.freebsd.org/D41844 Reviewed by: kib, emaste, dch MFC after: 3 months Co-authored-by: Val Packett <val@packett.cool> Co-authored-by: Ka Ho Ng <kahon@juniper.net> Co-authored-by: joyu <joyul@juniper.net> Co-authored-by: Kumara Babu Narayanaswamy <bkumara@juniper.net>
show more ...
|