18 ms·
FreeBSD 13.0 Beta1 Now Available
- drewg123 6y agoThis release includes most of the kTLS and NUMA work that I talked about at EuroBSDCon in 2019, including hw kTLS offload support for some NICs. This allows Netflix to serve over 350Gb/s of TLS encrypted video streams from a single 32-core AMD based server (at about 50% CPU).
- aduitsis 6y agoDrew, thank you kindly (and Netflix) for your contributions to FreeBSD. They do not go unnoticed. I, for one, learned quite a few things too out of your presentation, which is here: https://2019.eurobsdcon.org/slides/NUMA%20Optimizations%20in%20the%20FreeBSD%20Network%20Stack%20-%20Drew%20Gallatin.pdf https://2019.eurobsdcon.org/slides/NUMA%20Optimizations%20in...
- drewg123 6y agoThanks so much. I love that my "war stories" are interesting to people other than me :)
- ta988 6y agoThey absolutely are, thank you!
- csdreamer7 6y agoSame. They are excellent.
- drewg123 6y agoAnd one more thing.. A lot of the core NUMA work, especially in the VM system, was done by Jeff Roberson, not me. I did a lot of hacks and Jeff turned them into production quality code. Without that work, my network siloing would have been useless. More people will benefit from the core work, since its not just geared to a web workload. And we have John Baldwin to thank for upstreaming the Netflix kTLS.
- jiggawatts 6y agoOne thing I haven't quite understood is why Netflix even bothers to encrypt the video streams. It seems like a waste of effort, since Netflix isn't exactly serving content that would qualify as "secret". There's not even any porn on there, so it's not the biggest concern if someone were to find out what some people were watching. This data is being collected anyway via endpoint technologies like Samsung's Automated Content Recognition (ACR): https://www.samsung.com/us/business/samsungads/resources/tv-ad-retargeting/ https://www.samsung.com/us/business/samsungads/resources/tv-... It seems like encrypting the video stream traffic at this kind of scale requires a substantial engineering effort and special hardware. Encryption also means that shared downstream caches at ISPs can't do anything to reduce their bandwidth consumption. The only option is to contact Netflix and physically install one of their edge caching boxes. Content tampering protection could be obtained by simply computing content hashes offline once, which the clients could verify.
- freedomben 6y agoI would guess it's for DRM.
- paulgdp 6y agoEncryption for DRM needs to happen only once per media, and then can be saved to storage and shared infinitely many times. So that's probably something else
- stock_toaster 6y agoMy guess would be to prevent middlebox fiddling. Such as an end user device asking for 4k, but a middlebox somewhere between the customer and Netflix inspecting the http content and blocking it (or modifying the client request in flight), because "only 480p allowed here" or something like that.
- mrpippy 6y agoUS cellular carriers do that by throttling bandwidth to the network ranges used by video providers
- forty 6y agoHello, I'm genuinely curious: why did you implement it in FreeBSD rather than Linux? Isn't that kind of offload something that already exists in Linux? Or does something in the way Linux is implemented/designed that makes it impractical / impossible to implement as efficiently? Or is somehow Linux not secure enough for your use case? Or not something else enough? I'm asking because I'm always interested to know what are the practical limitations of Linux and also because, while I think it's nice that Linux had some serious competitors, I cannot help being a bit sad that contribution like this will only benefit the few people that use FreeBSD (even if to be fair, it seems that it will benefit all netflix customers at least, which is quite a few people ;) )
- nix23 6y ago>I cannot help being a bit sad that contribution like this will only benefit the few people that use FreeBSD Same could be said the other way around, the thing is Linux can implement it and even take the code, the other way is rather difficult....so much for freedom. And not sure what you mean with "few" people, the few Playstation 3/4/5 users? Juniper? OpnSense/Pfsense installations? Or the few Truenas/Freenas users? >Or not something else enough? https://www.youtube.com/watch?v=KP_bKvXkoC4 https://www.youtube.com/watch?v=KP_bKvXkoC4
- forty 6y agoI still expect the number to be pretty small compared to the number of Linux users, no matter how you define user (if playstation users counts as freebsd users, then I guess nearly everyone is a Linux user :) ) The point of the licence is a good point. Is the kind of code drewg123 is referring to regularly copied from BSD to Linux? (i understand it should be possible in this direction?). Thanks for the video, looks like exactly what I was looking for, I will watch it later.
- nix23 6y ago>small compared to the number of Linux users Not to mention all the Minix and NucleusRTOS Users ;)
- codetrotter 6y agoIs OpenZFS 2.0 in base in this snapshot? Edit: It is! neat! # uname -a FreeBSD freebsd 13.0-BETA1 FreeBSD 13.0-BETA1 #0 releng/13.0-n244471-638e531019f: Fri Feb 5 17:12:07 UTC 2021 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64 # zfs version zfs-2.0.0-FreeBSD_gf11b09dec zfs-kmod-2.0.0-FreeBSD_gf11b09dec
- bombcar 6y agoWhat does 2.0 bring us?
- codetrotter 6y agoNative ZFS encryption among other things Edit: Compared to the version of ZFS that was in base FreeBSD 12.x I mean
- ac29 6y agohttps://github.com/openzfs/zfs/releases/tag/zfs-2.0.0 https://github.com/openzfs/zfs/releases/tag/zfs-2.0.0
- efxhoy 6y agoThe biggest feature for me was zstd compression
- stock_toaster 6y agoAnyone know if this release also includes the recently[1] added in-kernel wireguard? [1]: https://svnweb.freebsd.org/base?view=revision&revision=368163 https://svnweb.freebsd.org/base?view=revision&revision=36816...
- codetrotter 6y agoLooks like it does # uname -a FreeBSD freebsd 13.0-BETA1 FreeBSD 13.0-BETA1 #0 releng/13.0-n244471-638e531019f: Fri Feb 5 17:12:07 UTC 2021 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64 # kldload if_wg # kldstat Id Refs Address Size Name 1 30 0xffff000000000000 11fd228 kernel 2 1 0xffff0000e1800000 24000 uhid.ko 3 1 0xffff0000e1824000 24000 usbhid.ko 4 1 0xffff0000e1848000 25000 hidbus.ko 5 1 0xffff0000e186d000 25000 wmt.ko 6 1 0xffff0000e1c00000 452000 zfs.ko 7 1 0xffff0000e2052000 52000 if_wg.ko
- stock_toaster 6y agoawesome! thanks for looking! <3
- waynesonfire 6y agoSWEET.
- shassard 6y agoI tried adding the wireguard module to my loader.conf this morning and my VM bombed horribly on reboot. I'm not sure if it's some ordering issue or something else, but use some caution when doing this.
- loeg 6y agoThere's not a ton of reason to load it in loader.conf (which is the bootloader configuration), by the way. The recommended location would be rc.conf kld_list, which is after userspace starts. loader.conf is only really needed for hardware drivers needed to load the operating system from storage devices (and most such drivers are already built in to the kernel).
- fullstop 6y agoBetween the NUMA work, OpenZFS 2.0, and wireguard, I can't wait for 13.0 to be released.
- pimeys 6y agoAnd OPNsense basing their next version to this kernel, then having a kernel based wg in the best router distro is going to be so sweet.
- nix23 6y agoOPNsense is based on HardenedBSD which is based on FreeBSD 12-STABLE ATM: https://hardenedbsd.org/ https://hardenedbsd.org/ But OPNsense is based on HBSD 11.2 ATM >The latest release is based upon HardenedBSD 11.2 https://opnsense.org/about/about-opnsense/ https://opnsense.org/about/about-opnsense/
- pimeys 6y agoIt got just updated to version 12. Probably this year we can see a version based on the 13 kernel. ``` FreeBSD router.local 12.1-RELEASE-p12-HBSD FreeBSD 12.1-RELEASE-p12-HBSD ```
- erichocean 6y agoIs Raspberry Pi 4 support included?
- csdreamer7 6y agoDoes not seem like it with 14-CURRENT. It was not added the last time I looked at when 13 was CURRENT. https://www.freebsd.org/where/ https://www.freebsd.org/where/
- ac29 6y agoAccording to this Rpi4 works with the Rpi3 image: https://wiki.freebsd.org/arm/Raspberry%20Pi https://wiki.freebsd.org/arm/Raspberry%20Pi
- kevans91 6y agoThis is outdated; the RPI3 image has been removed for 13.0/14.0-CURRENT with a new RPI image that should serve all (~both) aarch64 Pi.
- podge 6y agoAt work I've only ever used various distributions of Linux, but at home I've started using OpenBSD and FreeBSD. I'm currently running FreeBSD 12 on my long in the tooth HP Microserver N54L, with a ZFS mirror + NFS/Samba serving up music/photos to my home network. It's been rock solid for the past few years, and I love in particular how 'boring' it is. It has great tech like ZFS but it's very predictable.
- ggm 6y agoBBR? Netflix been working on it for yonks
- anotherhue 6y agoAnecdotally, swaywm and Wayland work out of the box for me on 13. Significant headache on 12.
- gautamcgoel 6y agoI wish FreeBSD booted faster. I recall it took nearly a minute from turning my machine on (with an SSD and a recent Intel i5 processor) before I was prompted for my login credentials. It's little things like that which make the system feel a bit dated, at least to someone like me who is an outsider to FreeBSD but has used Linux for a decade. I also wished FreeBSD needed less configuration to use as a desktop (see https://www.c0ffee.net/blog/freebsd-on-a-laptop/ https://www.c0ffee.net/blog/freebsd-on-a-laptop/ for what I mean). Also, does Zoom work on FreeBSD?
- andoriyu 6y ago> Also, does Zoom work on FreeBSD? I used Zoom on FreeBSD. By use I mean I was able to be in a meeting, see screen share, share my screen, but I had to dial in for audio and never tried webcam.
- mapgrep 6y agoOne key impetus for Linux moving to systemd was faster boot time, parallelizing init tasks. Is FreeBSD looking at moving beyond traditional rc script boot?
- toast0 6y agoThere's no need to abandon rc scripts to get parallelism. It looks like there's some work in progress on this [1]. From what I can tell, the change to rcorder to generate parallel start info is there in 13.0, but the change in /etc/rc to request it and to use it is not. You would need to patch that in manually for now. [1] https://wiki.freebsd.org/unitrunker/rcorder https://wiki.freebsd.org/unitrunker/rcorder
- deleted 6y ago[deleted]
- tal8d 6y agoAs somebody who fled Linux to FreeBSD in order to avoid systemd, the prospect of that happening again makes me a little sick to my stomach. Running out of places to go that aren't controlled by people who are openly hostile to POSIX standards.
- qwantim1 6y agoIs FreeBSD still used to as great of an extent in US Government / Military / Intelligence as it used to be? There seemed to be some talk of Linux I noticed in past years, and I’ve been thinking about trying to out again, but I’d feel better if I knew that it was still well-used.
- erk__ 6y agoThe last commit sponsored by DARPA was comitted 9 days ago so I would guess that is still the case.
- codetrotter 6y agoSee also: How to run FreeBSD 13.0-BETA1 for ARM64 in QEMU on Apple Silicon (MacBook Pro M1, etc) https://news.ycombinator.com/item?id=26052120 https://news.ycombinator.com/item?id=26052120
- ashton314 6y agoI set up FreeBSD on my rpi 4 a while back and had to jump through some hoops to get it to recognize all the RAM available; [1] anyone know if this version will do that out of the box? [1]: https://lambdaland.org/posts/2020-12-23_freebsd_rpi4/ https://lambdaland.org/posts/2020-12-23_freebsd_rpi4/
- kevans91 6y agoSorry, a bit late; the ARM64 "RPI" image should work out of the box and recognize all of your RAM.
- octofish 6y agoI'd hoped that aarch64 (ARM) would now be a tier 1 architecture in 13 but that's not to be the case (https://www.freebsd.org/platforms/ https://www.freebsd.org/platforms/) and the FreeBSD wiki page on what's required to make aarch64 a Tier 1 architecture was flagged as being out of date ~18 months ago (https://wiki.freebsd.org/ARMTier1 https://wiki.freebsd.org/ARMTier1). For info, a key thing about Tier 1 architectures is that "Binary updates and source patches for Security Advisories and Errata Notices will be provided for supported releases" (https://docs.freebsd.org/en_US.ISO8859-1/articles/committers-guide/archs.html https://docs.freebsd.org/en_US.ISO8859-1/articles/committers...), which would make maintaining ARM-based SBCs much easier (no need for setting up cross-compilation toolchains or for very slow compilation on the SBCs) and could make FreeBSD an even better OS for IoT stuff.
- mnd999 6y agoIt is enormously disappointing to have to wait yet another cycle for officially supported updates on aarch64. For a relatively well funded project, FreeBSD should be able to meet this kind of goal and they should be asking what went wrong here and how they can improve.
- petre 6y agoProbably not enough developers motivated enough to work on aarch64. Maybe if Nvidia and/or another Arm64 hardware vendor was a sponsor OTOH things would be different. https://lists.freebsd.org/pipermail/freebsd-arch/2019-December/019810.html https://lists.freebsd.org/pipermail/freebsd-arch/2019-Decemb...
- vermaden 6y agoAbout that arm64/aarch64 TIER 1 case ... This will kinda help you: https://up.bsd.lv/ https://up.bsd.lv/ Description from the page itself: up.bsd.lv is a proof-of-concept of binary updates using freebsd-update(8) for FreeBSD 13.0-CURRENT and 12-STABLE to facilitate the exhaustive testing of FreeBSD and the bhyve hypervisor and OpenZFS 2.0, and to help elevate ARM64 to Tier 1 status. Updates are based on the SVN revisions of official FreeBSD Release Engineering weekly snapshots. Features: - Kernels are built with the GENERIC-NODEBUG configuration file - /etc/freebsd-update.conf is modified to use up.bsd.lv - /usr/sbin/freebsd-update is modified to "xargs" parallel phttpget (Thank you Allan Jude) - freebsd-update(8) does not output to the $PAGER Hope that helps.
- pimeys 6y agoAs a nice winter Sunday activity, I installed the beta to my X230. Now everything seems to work quite nicely, I have: encrypted ZFS, Wayland, Sway and all my development tools installed and working. It took about two hours, a bit less to get here. My first time running FreeBSD on a laptop, mostly just going with OpenBSD or Arch. The installation was much easier compared to Arch, almost all packages that I wanted I just got with `pkg`. With using sway and wayland, the experience is really really fast and snappy even with this old laptop. At least compared to OpenBSD and xorg, the desktop experience here just flies. It has been a good Sunday so far...