Diamond Application Development Crafting Solutions with Precision
Bsdtw17: lightning talks/wip sessions
1. BSDTW17 Lightning Talks/WIPSessions
geli: allow attaching of multiple providers at once if they use same
passphrase and key
Motivation
had to enter passphrase 4 times, tedious
bootloader now caches passphrases, but this is not a boot drive
Proposed new rc.conf syntax
geli_groups=”data storage backup”
geli_{data,storage,backup}_*
geli uses hmac
salt means same passphrase still results in diff decryption keys
Please review D9396, D12644
MP-safe Networking in NetBSD by Masanobu SAITOH
● src/doc/TODO.smpnet: what’s MP-safe and what’s not
● NET_MPSAFE
NET_MPSAFE disabled by default
● some non-MP safe components are enabled in conf/GENERIC
Components
● layer 2
○ ethernet
○ bridge
○ fast forward
● layer 3
○ routing table, ip, ARP/ND
○ except MPLS, MROUTING
● drivers
○ wm, vioif, vmx , ixg, ixv
○ hardware multiqueue support
■ except vioif
○ pseudo interfaces
■ gif, l2tp,...
● others
○ pfill, npf, bpf
○ opencrypto and ipsec: NEW!
■ drivers need more work under opencrypto
● qat(4) and hifn(4)
○ Added 10G support to ipgen
■ packet generator using netmap
■ support RFC 2544
■ github.com/iij/ipgen
performance chart
ongoing work
● ipsec: add routing based ipsec interface
● qat: intel quickasist driver
● agr
● adding ATF tests (using with rump kernel)
● dogfooding
2. Remaining work
● improve single thread performance
○ focused on scalability so far
● common functions
○ RSS hash stuff
○ jumbo buffer allocation
● ipsec(9)
○ scalable ~ SA(>1k)
● in-kernel AES-NI
● ppp, pipex, vxlan
● rework for mii
● Layer 4
● Layer 2 other than ethernet
● pseudo interfaces such as gre
● packet filters: ipf and pf
Questions? (None)
NetBSD pkgsrc by Alistair Crooks
● pkgsrc is 20 years old
● 23 platforms
releases
● 2017Q3 56th release
● PGP/GPG signature validates for 2 years
● digests on patches
● multiple digests on distfiles
bulk builds
pkgsrc development
● khorben - hardening pkgsrc at EuroBSDcon
● jlam updating foreign package format
● New Linux HPC developers added
● no plans to move to pkg or synth
More ARM Hardware
● (lots of SoCs and boards)
Other hardware
● Intel QAT card support
● VAXstation 4000 TURBO channel USB and GPIO
● RISC-V - WIP
● AArch64 - WIP
LLVM/Clang 5.0 intree
● maintained by Joerg
● Still optional, off by default
● regular amd64 testing with pkgsrc bulk builds
● particularly good at finding compiler regressions
● Kamil has been working for TNF
○ lldb and debugging infra
○ sanitizer support
■ asan, ubsan
■ tsan and msan
sys_info
● what’s running on my system
Networking
● No BBR or RACK for TCP congestion
● bouyers sockcan impl
3. ● dhcpcd’d home
Cross-building since 2002
● build.sh
○ cross-OS building, AND cross-arch building
● distrib/utils/embedded/mkimage
● pkgsrc/sysutils/{mklivecd,mkmemstick}
● All the u-boot packages
Core team
GSoC projects
● LFS - maya, log based filesystem
● pkgsrc debug libs - leot
● porting anita to evbarm, pmax, hpcmips & amiga
○ continuous integration
DTrace support
● syscall support
● lockstat
● ...
IIJ src repo
NetBSD git mirror, hg mirror
Continuous testing - anita
Reproducible Builds
● complete Debian run
Kernel ASLR
Updates
● ZFS, dtrace
CDN working well
FDT
Everything else
BSD on Microsoft Azure by Kylie Liang
● Hyper-V & Azure support in FreeBSD
○ since FreeBSD 10
○ driver
■ sys/dev/hyperv
○ azure agent
○ documentation
● FreeBSD offerings on Azure
○ 10.3 ~ 11.1
● BSD partner offerings
○ citrix, netapp, juniper, Delphix, panzura, sophos
● MSFT Netapp partner to bring NFS to Azure
Mothra: FreeBSD send-pr tool for bugzilla
● github.com/pct/mothra
● pct/freeebsd_utils
Normal send-pr flow: 12 steps
Mothra way: 4 steps
● gem install mothra
● ~/.mothra.yml
● mothra search <keyword>
● mothra submit <summary>, <file path>
4. ○ attach, browse, …
● competing project: freebsd-bugzilla-cli seems more functional
BSDMizer a framework to improve FreeBSD continuously by Luba Tang
(The presenter had some trouble with the projector. A better version of the talk is here: Video … though it’s in
Mandarin)
● Skymizer is a compiler company
● BSDMizer is an adaptive compiler for the whole BSD system
gcc & LLVM has hundreds of static optimizations
Halide
Skymizer leverages gcc/llvm using machine learning
github.com/skymizer/bsdmizer
training engine | inference compiler
● benchmark -> training engine -> inference db
● inference compiler
○ {src, inference db} -> compiler -> optimal program
WIP
● ...
● support DTrace in SkyPat
Using Hyperledger Sawtooth on FreeBSD 11.1
● Sawtooth doesn’t require Docker
● HyperledgerSawtooth page on FreeBSD wiki
VIMAGE / pf WIP
● Virtual network stack in jail
● bz@ did the work
● turned on by default in GENERIC
pf tests
● pf uses VIMAGE to run tests
● turns out test are useful: r324996
● ci.freebsd.org
More tests on the way
● IPSec tests: D13017
VIMAGE is on, tests are good. write more tests