## Note: this is my personal todo and ideas list (alexh@)
-* cryptdisks
- - Improve to support external scripts/programs providing passphrases
+* Add a simple (regression) test framework
+ - Add the hundreds of test cases from our bugtracker
+ - Run nightly/weekly or at least before a release
-* Add TrueCrypt support
- - Simply add a userland tool that sets dm_target_crypt up with the right parameters, extracted from the TrueCrypt header
+* Callout overhaul
+ - add a callout_init_mtx/lock, etc
+ - add callout_drain
+
+* Improve installer crypto support
+ - add tcplay/TrueCrypt support
+ - let user choose crypto algorithm, IV generation, etc
+
+* Add support for hyperthreading / other SMT to our scheduler
+ - distinguish between real cores and threads on the same core
+ - Linux' work in the area: http://lwn.net/Articles/8553/
+
+* Take advantage of nested paging/EPT in vkernels
+
+* add a non-persistent unionfs VFS
+ - while this does not fully replace unionfs, it would deal with a few of the situations where unionfs is useful
+ - additionally the complexity is much lower, since everything can be kept in memory
+
+* bring the samba3 hammer shadow copy foo to maturity
+
+* extend dm's message feature to be two-way? what's the benefit?
+
+* make the whole system deal correctly with non-512-byte blocksize for disks. (DEV_BSIZE)
+
+* add another optimized bcopy/memcpy/memset/bzero version, using the AVX instructions
+
+* cryptdisks: multiple keyfile support
+
+* Add geli (without integrity verification) support using dm_target_crypt?
+ - a bit like the recent TrueCrypt implementation (tcplay)
* Update cryptsetup
+* Keep opencrypto up-to-date
+ - http://www.openbsd.org/cgi-bin/cvsweb/src/sys/crypto/
+
* Port hwpmc & dig into (boot-up) performance
* linuxulator
* Fix the crash analysis script (or rather the programs it calls [some segfault])
-* route show
+* Take a look at updating lvm/dm/libdevicemapper
-* Take a look at updating lvm/dm/libdm
+* Take a look at importing dmctl from NetBSD
+ - would require a bunch of modifications to work with the proper device-mapper API
+ - also some extensions? missing lots of features
-* sync up vr
- o Added VT6105M specific register definitions. VT6105M has the
- following hardware capabilities.
- - Tx/Rx IP/TCP/UDP checksum offload.
- - VLAN hardware tag insertion/extraction. Due to lack of information
- for getting extracted VLAN tag in Rx path, VLAN hardware support
- was not implemented yet.
- - CAM(Content Addressable Memory) based 32 entry perfect multicast/
- VLAN filtering.
- - 8 priority queues.
- o Implemented CAM based 32 entry perfect multicast filtering for
- VT6105M. If number of multicast entry is greater than 32, vr(4)
- uses traditional hash based filtering.
-
* rip out the disk partitioning from the disk subsystem and implement it in a more general fashion
- crazy idea: as dm targets with an auto-configuration option!
-
-* sync some more opencrypto from OpenBSD
+ - would require to be able to create dm targets with an arbitrary name and not in /dev/mapper
* ATA (automatic) spindown (see FreeBSD current)
###Boring:
+* Fix ipsec, get rid of old ipsec
+
+* sync up vr
+ - Added VT6105M specific register definitions. VT6105M has the following hardware capabilities.
+ - Tx/Rx IP/TCP/UDP checksum offload.
+ - VLAN hardware tag insertion/extraction. Due to lack of information
+ for getting extracted VLAN tag in Rx path, VLAN hardware support
+ was not implemented yet.
+ - CAM(Content Addressable Memory) based 32 entry perfect multicast/
+ VLAN filtering.
+ - 8 priority queues.
+ o Implemented CAM based 32 entry perfect multicast filtering for
+ VT6105M. If number of multicast entry is greater than 32, vr(4)
+ uses traditional hash based filtering.
* RedZone, a buffer corruption protection for the kernel malloc(9) facility has been implemented.
- This detects both buffer underflows and overflows at runtime on free(9) and realloc(9),