DragonFly - Presentations

DragonFlyBSD Multimedia Resources List

Links on this page refer to multimedia resources (podcast, vodcast, audio recordings, video recordings, photos) related to DragonFlyBSD or of interest for DragonFlyBSD users.


This list is available as chronological overview, as a tag cloud and via the sources.
This list is also available as RSS feed

If you know any resources not listed here, or notice any dead links, please send details to Edwin Groothuis so that it can be included or updated.

BSDCan - The Technical BSD Conference

  • Adrian Chad - What Not To Do When Writing Network Applications
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, network applications, adrian chad
    PDF file (190 Kb, 73 pages)

    What Not To Do When Writing Network Applications

    The lessons learnt working with not-so-high-performance network applications

    This talk will look at issues which face the modern network application developer, from the point of view of poorly-designed examples. This will cover internal code structure and dataflow, interaction with the TCP stack, IO scheduling in high and low latency environments and high-availability considerations. In essence, this presentation should be seen as a checklist of what not to do when writing network applications.

    Plenty of examples of well designed network applications exist in the open and closed source world today. Unfortunately there are just as many examples of fast network applications as there are "fast but workload specific"; sometimes failing miserably in handling the general case. This may be due to explicit design (eg Varnish) but many are simply due to the designer not fully appreciating the wide variance in "networks" - and their network application degrades ungracefully when under duress. My aim in this presentation is to touch on a wide number of issues which face network application programmers - most of which seem not "application related" to the newcomer - such as including pipelining into network communication, managing a balance between accepting new requests and servicing existing requests, or providing back-pressure to a L4 loadbalancer in case of traffic bursts. Various schemes for working with these issues will be presented, and hopefully participants will walk away with more of an understanding about how the network, application and operating systems interact.

  • BSDCan-2007 - Videos
    Source: BSDCan - The Technical BSD Conference
    Added: 24 August 2007
    Tags: bsdcan, bsdcan2007, talks, kirk mckusick
    MOV file (77 Mb, 35 minutes)
    The 2007 BSDCan conference
    Kirk McKusick - Code Reading of Locally-Connected Sockets

  • BSDCan-2007 - Videos
    Source: BSDCan - The Technical BSD Conference
    Added: 14 August 2007
    Tags: bsdcan, bsdcan2007, talks, erwin lansing, ports
    MOV file (39 Mb, 20 minutes)
    The 2007 BSDCan conference
    Erwin Lansing - The state of the FreeBSD Ports Tree

  • BSDCan-2007 - Videos
    Source: BSDCan - The Technical BSD Conference
    Added: 13 August 2007
    Tags: bsdcan, bsdcan2007, talks, kris kennaway, scalability
    MOV file (148 Mb, 73 minutes)
    The 2007 BSDCan conference
    Kris Kennaway - Scalability Update 2007
    Progress on FreeBSD SMP performance and scalablity since BSDCan Dev Summit 2006

  • BSDCan-2007 - Videos
    Source: BSDCan - The Technical BSD Conference
    Added: 13 August 2007
    Tags: bsdcan, bsdcan2007, talks, qing li, routing arp and nd6
    MOV file (63 Mb, 30 minutes)
    The 2007 BSDCan conference
    Qing Li - Routing, ARP and ND6

  • BSDCan-2007 - Videos
    Source: BSDCan - The Technical BSD Conference
    Added: 13 August 2007
    Tags: bsdcan, bsdcan2007, talks, marko zec, vimage
    MOV file (44 Mb, 20 minutes)
    The 2007 BSDCan conference
    Marko Zec explains the vimage architecture

  • BSDCan-2007 - Videos
    Source: BSDCan - The Technical BSD Conference
    Added: 13 August 2007
    Tags: bsdcan, bsdcan2007, talks, max laier, ipf
    MOV file (52 Mb, 30 minutes)
    The 2007 BSDCan conference
    Max Laier - PFIL, firewalls and locking

  • BSDCan-2007 Photos
    Source: BSDCan - The Technical BSD Conference
    Added: 18 May 2007
    Tags: bsdcan, bsdcan2007, photos, ollivier robert
    Photos taken during both DevSummit and Conference at BSDCan 2007 in Ottawa by Ollivier Robert.

  • BSDCan-2007 Photos - Bjoern A. Zeeb
    Source: BSDCan - The Technical BSD Conference
    Added: 24 May 2007
    Tags: bsdcan, bsdcan2007, photos, bjoern a zeeb
    Photos taken at BSDCan 2007 by Bjoern A. Zeeb

  • BSDCan-2007 Photos - Dru Lavigne
    Source: BSDCan - The Technical BSD Conference
    Added: 24 May 2007
    Tags: bsdcan, bsdcan2007, photos, dru lavigne
    Photos taken at BSDCan 2007 by Dru Lavigne

  • BSDCan-2007 Photos - Friday
    Source: BSDCan - The Technical BSD Conference
    Added: 19 May 2007
    Tags: bsdcan, bsdcan2007, photos, diane bruce
    Photos taken during both DevSummit and Conference on Friday at BSDCan 2007 in Ottawa by Diane Bruce.

  • BSDCan-2007 Photos - Julian C. Dunn
    Source: BSDCan - The Technical BSD Conference
    Added: 24 May 2007
    Tags: bsdcan, bsdcan2007, photos, julian c dunn
    Photos taken at BSDCan 2007 by Julian C. Dunn

  • BSDCan-2007 Photos - Randi Harper
    Source: BSDCan - The Technical BSD Conference
    Added: 24 May 2007
    Tags: bsdcan, bsdcan2007, photos, randi harper, freebsdgirl
    Photos taken at BSDCan 2007 by Randi Harper

  • BSDCan-2007 Photos - Saturday
    Source: BSDCan - The Technical BSD Conference
    Added: 20 May 2007
    Tags: bsdcan, bsdcan2007, photos, diane bruce
    Photos taken during both DevSummit and Conference on Saturday at BSDCan 2007 in Ottawa by Diane Bruce.

  • BSDCan-2007 Photos - Scott Murphy
    Source: BSDCan - The Technical BSD Conference
    Added: 24 May 2007
    Tags: bsdcan, bsdcan2007, photos, scott murphy
    Photos taken at BSDCan 2007 by Scott Murphy

  • BSDCan-2007 Videos
    Source: BSDCan - The Technical BSD Conference
    Added: 13 August 2007
    Tags: bsdcan, bsdcan2007, talks
    MOV file (16 Mb, 9 minutes)
    The 2007 BSDCan conference - Introduction of people.

  • Bjoern A. Zeeb - BSDCan08 devsummit summary
    Source: BSDCan - The Technical BSD Conference
    Added: 28 May 2008
    Tags: bsdcan, bsdcan2008, devsummit, devsummit2008, freebsd, writeup, bjoern a zeeb
    200805DevSummit - BSDCan 2008 FreeBSD Developer summit summary

  • Brooks Davis - Isolating Cluster Jobs for Performance and Predictability
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, cluster, brooks davis
    Slides (1.4 Mb, 27 pages)

    Isolating Cluster Jobs for Performance and Predictability

    At The Aerospace Corporation, we run a large FreeBSD based computing cluster to support engineering applications. These applications come in all shapes, sizes, and qualities of implementation. To support them and our diverse userbase we have been searching for ways to isolate jobs from one another in ways that are more effective than Unix time sharing and more fine grained than allocating whole nodes to jobs.

    In this talk we discuss the problem space and our efforts so far. These efforts include implementation of partial file systems virtualization and CPU isolation using CPU sets.

  • Brooks Davis - Using FreeBSD to Promote Open Source Development Methods
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, abstract, software development, brooks davis
    PDF file (1 Mb, 33 pages), PDF file (72 Kb, 2 pages)

    Using FreeBSD to Promote Open Source Development Methods

    In this talk we present Aerosource, an initiative to bring Open Source Software development methods to internal software developers at The Aerospace Corporation.

    Within Aerosource, FreeBSD is used in several key roles. First, we run most of our tools on top of FreeBSD. Second, the ports collection (both official ports and custom internal ones) eases our administrative burden. Third, the FreeBSD project serves as an example and role model for the results that can be achieved by an Open Source Software projects. We discuss the development infrastructure we have built for Aerosource based largely on BSD licensed software including FreeBSD, PostgreSQL, Apache, and Trac. We will also discuss our custom management tools including our system for managing our custom internal ports. Finally, we will cover our development successes and how we use projects like FreeBSD as exemplars of OSS development.

  • Cat Allman and Leslie Hawthorn - Getting Started in Free and Open Source
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, getting started, cat allman, leslie hawthorn
    Slides (893 Kb, 25 pages)

    Getting Started in Free and Open Source
    Interested in getting involved? But don't really know where or how to start?

    The talk is called "Getting Started in Free and Open Source". It's a talk for beginners who are interested to getting involved but don't really know where or how to start.

    We cover the basics of: -why you might want to get involved -what you can get out of participating -more than coding is needed -how to chose a project -how to get started -etiquette of lists and other communication -dos and don't of joining a community

  • Chris Buechler and Scott Ullrich - pfSense: 2.0 and beyond
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, pfsense, chris buechler, scott ullrich
    Slides (3.2 Mb, 36 pages)

    pfSense: 2.0 and beyond
    From firewall distribution to appliance building platform

    pfSense is a BSD licensed customized distribution of FreeBSD tailored for use as a firewall and router. In addition to being a powerful, flexible firewalling and routing platform, it includes a long list of related features and a package system allowing further expandability without adding bloat and potential security vulnerabilities to the base distribution.

    This session will start with an introduction to the project and its common uses, which have expanded considerably beyond firewalling. We will cover much of the new functionality coming in the 2.0 release, which contains significant enhancements to nearly every portion of the system as well as numerous new features.

    While the primary function of the project is a firewalling and routing platform, with changes coming in pfSense 2.0, it has also become an appliance building framework enabling the creation of customized special purpose appliances. The m0n0wall code where pfSense originated has proved popular for this purpose, with AskoziaPBX and FreeNAS also based upon it, in addition to a number of commercial solutions. The goal of this appliance building framework is to enable creation of projects such as these without having to fork and maintain another code base. The existing appliances, including a DNS server using TinyDNS, VoIP with FreeSWITCH, and others will be discussed. For those interested in creating appliances, an overview of the process will be provided along with references for additional information.

  • Chris Lattner - BSD licensed C++ compiler
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, bsdl, llvm, chris lattner
    PDF file (5.8 Mb, 33 pages)

    BSD licensed C++ compiler

    LLVM is a suite of carefully designed open source libraries that implement compiler components (like language front-ends, code generators, aggressive optimizers, Just-In-Time compiler support, debug support, link-time optimization, etc.). The goal of the LLVM project is to build these components in a way that allows them to be combined together to create familiar tools (like a C compiler), interesting new tools (like an OpenGL JIT compiler), and many other things we haven't thought of yet. Because LLVM is under continuous development, clients of these components naturally benefit from improvements in the libraries.

    This talk gives an overview of LLVM's design and approach to compiler construction, and gives several example applications. It describes applications of LLVM technology to llvm-gcc (a C/C++/Objective C compiler based on the GNU GCC front-end), the OpenGL stack in Mac OS/X Leopard, and Clang. Among other things, the Clang+LLVM Compiler provides a fully BSD-Licensed C and Objective-C compiler (with C++ in development) which compiles code several times faster than GCC, produces code that is faster than GCC in many cases, produces better warnings and error messages, and supports many other applications (e.g. static analysis and refactoring).

  • Colin Percival - scrypt: A new key derivation function
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, scrypt, colin percival
    Slides (556 Kb, 21 pages), Paper (201 Kb, 16 pages)

    scrypt: A new key derivation function
    Doing our best to thwart TLAs armed with ASICs

    Password-based key derivation functions are used for two primary purposes: First, to hash passwords so that an attacker who gains access to a password file does not immediately possess the passwords contained therewithin; and second, to generate cryptographic keys to be used for encrypting or authenticating data.

    In both cases, if passwords do not have sufficient entropy, an attacker with the relevant data can perform a brute force attack, hashing potential passwords repeatedly until the correct key is found. While commonly used key derivation functions, such as Kamp's iterated MD5, Provos and Mazieres' bcrypt, and RSA Laboratories' PBKDF1 and PBKDF2 make an attempt to increase the difficulty of brute-force attacks, they all require very little memory, making them ideally suited to attack by custom hardware.

    In this talk, I will introduce the concepts of memory-hard and sequential memory-hard functions, and argue that key derivation functions should be sequential memory-hard. I will present a key derivation function which, subject to common assumptions about cryptographic hash functions, is provably sequential memory-hard, and a variation which appears to be stronger (but not provably so). Finally, I will provide some estimates of the cost of performing brute force attacks on a variety of password strengths and key derivation functions.

  • Constantine A. Murenin - Quiet Computing with BSD
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, bsd, hardware monitors, canstantine murenin
    Slides (264 Kb, 16 pages)

    Quiet Computing with BSD
    Programming system hardware monitors for quiet computing

    In this talk, we will present a detailed overview of the features and common problems of microprocessor system hardware monitors as they relate to the topic of silent computing. In a nutshell, the topic of programmable fan control will be explored.

    Silent computing is an important subject as its practice reduces the amount of unnecessary stress and improves the motivation of the workforce, at home and in the office.

    Attendees will gain knowledge on how to effectively programme the chips to minimise fan noise and avoid system failure or shutdown during temperature fluctuations, as well as some basic principles regarding quiet computing.

    Shortly before the talk, a patch for programming the most popular chips (like those from Winbond) will be released for the OpenBSD operating system, although the talk itself will be more specific to the microprocessor system hardware monitors themselves, as opposed to the interfacing with thereof in modern operating systems like OpenBSD, NetBSD, DragonFly BSD and FreeBSD.

  • Dan Langille - BSDCan 2008 - Opening session
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, dan langille
    PDF file (500 Kb, 17 pages)

    Opening session

    Welcome to BSDCan 2008
    Traditional greetings
  • Daniel Braniss
    Source: BSDCan - The Technical BSD Conference
    Added: 28 May 2008
    Tags: bsdcan, bsdcan2008, presentation, iscsi, daniel braniss
    PDF file (1.4 Mb, 30 pages)

    iSCSI

    not an Apple appliance.

    iSCSI is not an Apple appliance.

    The i in iSCSI stands for internet, some say for insecure, personally I like to think interesting. I'll try to share the road followed from RFC-3720 to the actual working driver, the challenges, the frustrations.

  • Erwin Lansing - What's happening in the world of ports and portmgr
    Source: BSDCan - The Technical BSD Conference
    Added: 24 May 2008
    Tags: bsdcan, bsdcan2008, devsummit, devsummit2008, freebsd, portmgr, erwin lansing
    PDF file (146 Kb, 14 pages)
    What's happening in the world of ports and portmgr

  • Fernando Gont - Results of a Security Assessment of the TCP and IP protocols and Common implementation Strategies
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, bsd, security assessment, fernado gont
    Security Assessment of the Internet Protocol (660 Kb, 63 pages), Slides (473 Kb, 64 pages), Proposal (93 Kb, 3 pages), Security Assessment of the Transmission Control Protocol (TCP) (1.4 Mb, 130 pages)

    Results of a Security Assessment of the TCP and IP protocols and Common implementation Strategies

    Fernando Gont will present the results of security assessment of the TCP and IP protocols carried out on behalf of the United Kingdom's Centre for the Protection of National Infrastructure (Centre for the Protection of National Infrastructure). His presentation will provide an overview of the aforementioned project, and will describe some of the new insights that were gained as a result of this project. Additionally, it will provide an overview of the state of affairs of the different TCP/IP implementations found in BSD operating systems with respect to the aforementioned issues.

    During the last twenty years, many vulnerabilities have been identified in the TCP/IP stacks of a number of systems. The discovery of these vulnerabilities led in most cases to reports being published by a number of CSIRTs and vendors, which helped to raise awareness about the threats and the best possible mitigations known at the time the reports were published. For some reason, much of the effort of the security community on the Internet protocols did not result in official documents (RFCs) being issued by the organization in charge of the standardization of the communication protocols in use by the Internet: the Internet Engineering Task Force (IETF). This basically led to a situation in which "known" security problems have not always been addressed by all vendors. In addition, in many cases vendors have implemented quick "fixes" to the identified vulnerabilities without a careful analysis of their effectiveness and their impact on interoperability. As a result, producing a secure TCP/IP implementation nowadays is a very difficult task, in large part because of the hard task of identifying relevant documentation and differentiating between that which provides correct advisory, and that which provides misleading advisory based on inaccurate or wrong assumptions. During 2006, the United Kingdom's Centre for the Protection of National Infrastructure embarked itself in an ambitious and arduous project: performing a security assessment of the TCP and IP protocols. The project did not limit itself to an analysis of the relevant IETF specifications, but also included an analysis of common implementation strategies found in the most popular TCP and IP implementations. The result of the project was a set of documents which identifies possible threats for the TCP and IP protocols and, where possible, proposes counter-measures to mitigate the identified threats. This presentation will will describe some of the new insights that were gained as a result of this project. Additionally, it will provide an overview of the state of affairs of the different TCP/IP implementations found in BSD operating systems.

  • FreeBSD Portsnap
    Source: BSDCan - The Technical BSD Conference
    Added: 20 May 2007
    Tags: bsdcan, bsdcan2007, pdf, portsnap, freebsd, colin percival
    PDF version (1.3 Mb, 88 pages)
    "FreeBSD Portsnap - What (it is), Why (it was written), and How (it works)" by Colin Percival (cperciva@FreeBSD.org)
    (Note: use ^L to get back in non-fullscreen mode)

  • George Neville-Neil - Networking from the Bottom Up: Device Drivers
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, tutorial, device drivers, george neville-neil
    PDF file (480 Kb, 68 pages)

    Networking from the Bottom Up: Device Drivers.

    In this tutorial I will describe how to write and maintain network drivers in FreeBSD and use the example of the Intel Gigabit Ethernet driver (igb) throughout the course.

    Students will learn the basic data structures and APIs necessary to implement a network driver in FreeBSD. The tutorial is general enough that it can be applied to other BSDs, and likely to other embedded and UNIX like systems while being specific enough that given a device and a manual the student should be able to develop a working driver on their own. This is the first of a series of lectures on network that I am developing over the next year or so.

  • George Neville-Neil - Thinking about thinking in code
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, keynote, bsd, george neville-neil
    Slides (4.0 Mb, 137 pages)

    Thinking about thinking in code
    Proposed keynote talk

    This is not a talk that's specific to any BSD but is a more general talk about how we think about coding and how our thinking changes the way we code.

    I compare how we built systems to how other industries build their products and talk about what we can learn from how we work and from how others work as well.

  • George Neville-Neil - Understanding and Tuning SCHED_ULE
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, sched_ule, george neville-neil
    Slides (228 Kb, 29 pages)

    Understanding and Tuning SCHED_ULE

    With the advent of widespread SMP and multicore CPU architectures it was necessary to implement a new scheduler in the FreeBSD operating system. The SCHEDULE scheduler was added for the 5 series of FreeBSD releases and has now matured to the point where it is the default scheduler in the 7.1 release. While scheduling processes was a difficult enough task in the uniprocessor world, moving to multiple processors, and multiple cores, has significantly increased the number of problems that await engineers who wish to squeeze every last ounce of performance out of their system. This talk will cover the basic design of SCHEDULE and focus a great deal of attention on how to tune the scheduler for different workloads, using the sysctl interfaces that have been provided for that purpose.

    Understanding and tuning a scheduler used to be done only by operating systems designers and perhaps a small minority of engineers focusing on esoteric high performance systems. With the advent of widespread multi-processor and multi-core architectures it has become necessary for more users and administrators to decide how to tune their systems for the best performance. The SCHEDULE scheduler in FreeBSD provides a set of sysctl interfaces for tuning the scheduler at run time, but in order to use these interfaces effectively the scheduling process must first be understood. This presentation will give an overview of how SCHEDULE works and then will show several examples of tuning the system with the interfaces provided.

    The goal of modifying the scheduler's parameters is to change the overall performance of programs on the system. One of the first problems presented to the person who wants to tune the scheduler is how to measure the effects of their changes. Simply tweaking the parameters and hoping that that will help is not going to lead to good results. In our recent experiments we have used the top(1) program to measure our results.

  • Ivan Voras - "finstall" - the new FreeBSD installer
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, slides, freebsd, installer, ivan voras
    PDF file (1.1 Mb, 39 pages)

    "finstall" - the new FreeBSD installer

    A graphical installer for FreeBSD

    The "finstall" project, sponsored by Google as a Summer of Code 2007 project, is an attempt to create a user-friendly graphical installer for FreeBSD, with enough strong technical features to appeal to the more professional users. A long term goal for it is to be a replacement for sysinstall, and as such should support almost all of the features present in sysinstall, as well as add support for new FreeBSD features such as GEOM, ZFS, etc. This talk will describe the architecture of "finstall" and focus on its lesser known features such as remote installation.

    "finstall" is funded by Google SoC as a possible long-term replacement for sysinstall, as a "LiveCD" with the whole FreeBSD base system on the CD, with X11 and XFCE4 GUI. In the talk I intend to describe what I did so far, and what are the future plans for it. This includes the installer GUI, the backend (which has the potential to become a generic FreeBSD configuration backend) and the assorted tools developed for finstall ("LiveCD" creation scripts). More information on finstall can be found here: http://wiki.freebsd.org/finstall.

  • Ivan Voras - Remote and mass management of systems with finstall
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, finstall, management, freebsd, ivan voras
    Slides (377 Kb, 24 pages)

    Remote and mass management of systems with finstall
    Automated management on a largish scale

    An important part of the "finstall" project, created as a graphical installer for FreeBSD, is a configuration server that can be used to remotely administer and configure arbitrary systems. It allows for remote scripting of administration tasks and is flexible enough to support complete reconfiguration of running systems.

    The finstall project has two major parts - the front-end and the back-end. The front-end is just a GUI allowing the users to install the system in a convenient way. The back-end is a network-enabled XML-RPC server that is used by the front-end to perform its tasks. It can be used as a stand-alone configuration daemon. This talk will describe a way to make use of this property of finstall to remotely manage large groups of systems.

  • Joerg Sonnenberger - Journaling FFS with WAPBL
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, netbsd, wapbl, ffs, joerg sonnenberger
    Slides (10 Kb, 24 pages)

    Journaling FFS with WAPBL

    NetBSD 5 is the first NetBSD release with a journaling filesystem. This lecture introduces the structure of the Fast File System, the modifications for WAPBL and specific constraints of the implementation.

    The Fast File System (FFS) has been used in the BSD land for more than two decades. The original implementation offered two operational modes:

    • safe and slow (sync)
    • unsafe and fast (async) One decade ago, Kirk McKusick introduced the soft dependency mechanism to offset the performance impact without risk of mortal peril on the first crash. With the advent of Terabyte hard disks, the need for a file system check (fsck) after a crash becomes finally unacceptable. Even a background fsck like supported on FreeBSD consumes lots of CPU time and IO bandwidth.

    Based on a donation from Wasabi Systems, Write Ahead Physical Block Logging (WAPBL) provides journaling for FFS with similar or better performance than soft dependencies during normal operation. Recovery time after crashes depends on the amount of outstanding IO operations and normally takes a few seconds.

    This lecture gives a short overview of FFS and the consistency constraints for meta data updates. It introduces the WAPBL changes, both in terms of the on-disk format and the implementation in NetBSD. Finally the implementation is compared to the design of comparable file systems and specific issues of and plans for the current implementation are discussed.

  • John Baldwin - Introduction to Debugging the FreeBSD Kernel
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, paper, debugging, freebsd, john baldwin
    paper, PDF file (121 Kb, 15 pages), slides, PDF file (113 Kb, 26 pages)

    Introduction to Debugging the FreeBSD Kernel

    Just like every other piece of software, the FreeBSD kernel has bugs. Debugging a kernel is a bit different from debugging a userland program as there is nothing underneath the kernel to provide debugging facilities such as ptrace() or procfs. This paper will give a brief overview of some of the tools available for investigating bugs in the FreeBSD kernel. It will cover the in-kernel debugger DDB and the external debugger kgdb which is used to perform post-mortem analysis on kernel crash dumps.

    Introduction to Debugging the FreeBSD Kernel

    • Basic crash messages, what a crash looks like
      • typical panic() invocation
      • page fault example
    • "live" debugging with DDB
      • stack traces
      • ps
      • deadlock examples
      • show lockchain
      • show sleepchain
      • Adding new DDB commands
    • KGDB
      • inspecting processes and threads
      • working with kernel modules
      • using scripts to extend
    • examining crashdumps using utilities
      • ps, netstat, etc.
    • debugging strategies
      • kernel crashes
      • system hangs
  • John Baldwin - Multiple Passes of the FreeBSD Device Tree
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, device tree, john baldwin
    Slides (60 Kb, 15 pages), Paper (103 Kb, 8 pages)

    Multiple Passes of the FreeBSD Device Tree

    The existing device driver framework in FreeBSD works fairly well for many tasks. However, there are a few problems that are not easily solved with the current design. These problems include having "real" device drivers for low-level hardware such as clocks and interrupt controllers, proper resource discovery and management, and allowing most drivers to always probe and attach in an environment where interrupts are enabled. I propose extending the device driver framework to support multiple passes over the device tree during boot. This would allow certain classes of drivers to be attached earlier and perform boot-time setup before other drivers are probed and attached. This in turn can be used to develop solutions to the earlier list of problems.

  • John Birrell - DTrace for FreeBSD
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, dtrace, freebsd, john birrell
    PDF file (148 Kb, 49 pages)

    DTrace for FreeBSD

    What on earth is that system doing?!

    DTrace is a comprehensive dynamic tracing facility originally developed for Solaris that can be used by administrators and developers on live production systems to examine the behavior of both user programs and of the operating system itself. DTrace enables users to explore their system to understand how it works, track down performance problems across many layers of software, or locate the cause of aberrant behavior. DTrace lets users create their own custom programs to dynamically instrument the system and provide immediate, concise answers to arbitrary questions you can formulate using the DTrace D programming language.

    This talk discusses the port of the DTrace facility to FreeBSD and demonstrates examples on a live FreeBSD system.

    • Introduction to the D language - probes, predicates and actions.
    • dtrace(8) and libdtrace - the userland side of the DTrace story.
    • The DTrace kernel module, it's ioctl interface to userland and the provider infrastructure in the kernel.
    • DTrace kernel hooks and the problem of code licensed under Sun's CDDL.
    • What does a DTrace probe actually do?
    • DTrace safety and how it is implemented.
    • Build system changes to add CTF (Compact C Type Format) data to objects, shared libraries and executables.
    • The DTrace test suite.
    • A brief list of things to do to port the DTrace facility to other BSD-derived operating systems.
  • John Pertalion - An Open Source Enterprise VPN Solution with OpenVPN and OpenBSD
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, slides, openbsd, openvpn, john pertalion
    PDF file (127 Kb, 26 pages)

    An Open Source Enterprise VPN Solution with OpenVPN and OpenBSD

    Solving the problem

    At Appalachian State University, we utilize an open source VPN to allow faculty, staff and vendors secure access to Appalachian State University's internal network from any location that has an Internet connection. To implement our virtual private network project, we needed a secure VPN that is flexible enough to work with our existing network registration and LDAP authentication systems, has simple client installation, is redundant, allows multiple VPN server instances for special site-to-site tunnels and unique configurations, and can run on multiple platforms. Using OpenVPN running on OpenBSD, we met those requirements and added a distributed administration system that allows select users to allow VPN access to specific computers for external users and vendors without requiring intervention from our network or security personnel. Our presentation will start with a quick overview of OpenVPN and OpenBSD and then detail the specifics of our VPN implementation.

    Dissatisfied with IPSec for road warrior VPN usage we went looking for a better solution. We had hopped that we could find a solution that would run on multiple platforms, was flexible and worked well. We found OpenVPN and have been pleased. Initially we ran it on RHEL. We migrated to OpenBSD for pf functionality and general security concerns. ...and because we like OpenBSD.

    Our presentation will focus on the specifics of our VPN implementation. We will quickly cover the basics of OpenVPN and the most used features of OpenBSD. Moving along we will cover multiple authentication methods, redundancy, running multiple instances, integration with our netreg system, how pf has extended functionality, embedding in appliances, and client configuration. The system has proven helpful with providing vendor access where needed and we'll cover this aspect as well. Time permitting we will cover current enhancement efforts and future plans.

    OpenVPN has been called the "Swiss army knife" of VPN solutions. We hope our presentation leaves participants with that feeling.

  • Kern Sibbald - Bacula
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, slides, bacula, kern sibbald
    PDF file (505 Kb, 30 pages)

    Bacula

    The Open Source Enterprise Backup Solution

    The Bacula project started in January 2000 with several goals, one of which was the ability to backup any client from a Palm to a mainframe computer. Bacula is available under a GPL license.

    Bacula uses several distinct components, each communicating via TCP/IP, to achieve a very scalable and robust solution to backups.

    Kern is one of the original project founders and still one of the most productive Bacula developers.

  • Kris Moore - Building self-contained PBIs from Ports (Automagically)
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, slides, pc-bsd, ports, pbi, kris moore
    PDF file (120 Kb, 26 pages)

    Building self-contained PBIs from Ports (Automagically)

    Creating a self-contained application from the ports tree

    PC-BSD provides a user-friendly desktop experience, for experts and casual users alike. PC-BSD is 100% FreeBSD under the hood, while providing desktop essentials, such as a graphical installation system, point-n-click package-management using the PBI system, and easy to use system management tools; All integrated into an easy to use K Desktop Environment (KDE).

    The PBI (Push Button Installer) format is the cornerstone of the PC-BSD desktop, which allows users to install applications in a self-contained format, free from dependency problems, and compile issues that stop most casual users from desktop adoption. The PBI format also provides power and flexibility in user interaction, and scripting support, which allows applications to be fine-tuned to the best possible user experience.

    This talk would go over in some detail our new PBI building system, which converts a FreeBSD port, such as FireFox, into a standalone self-contained PBI installer for PC-BSD desktops.

    The presentation will be divided into two main sections:
    The Push Button Installer (PBI) Format

    • The basics of the PBI format
    • The PBI format construction
    • Add & Remove scripting support within PBI

    Building PBIs from Ports "Auto-magically"

    • The PBI build server & standalone software
    • Module creation & configuration
    • Converting messy ports into PBIs
  • Kris Moore - PC-BSD - Making FreeBSD on the desktop a reality
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, pc-bsd, freebsd, kris moore
    Paper (351 Kb, 9 pages), Slides (512 Kb, 35 pages)

    PC-BSD - Making FreeBSD on the desktop a reality
    FreeBSD on the Desktop

    While FreeBSD is a all-around great operating system, it is greatly lagging behind in desktop appeal. Why is this? In this talk, we will take a look at some of the desktop drawbacks of FreeBSD, and how are are attempting to fix them through PC-BSD.

    FreeBSD has a reputation for its rock-solid reliability, and top-notch performance in the server world, but is noticeably absent when it comes to the vast market of desktop computing. Why is this? FreeBSD offers many, if not almost all of the same open-source packages and software that can be found in the more popular Linux desktop distributions, yet even with the speed and reliability FreeBSD offers, a relative few number of users are deploying it on their desktops.

    In this presentation we will take a look at some of the reasons why FreeBSD has not been as widely adopted in the desktop market as it has on the server side. Several of the desktop weaknesses of FreeBSD will be shown, along with how we are trying to fix these short-comings through a desktop-centric version of FreeBSD, known as PC-BSD. We will also take a look at the package management system employed by all open-source operating systems alike, and some of the pitfalls it brings, which may hinder widespread desktop adoption.

  • Lawrence Stewart - Improving the FreeBSD TCP Implementation
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, tcp, lawrence stewart
    Slides (2.1 Mb, 38 pages)

    Improving the FreeBSD TCP Implementation.
    An update on all things TCP in FreeBSD and how they affect you.

    My involvement in improving the FreeBSD TCP stack has continued this past year, with much of the work targeted at FreeBSD 8. This talk will cover what these changes entail, why they are of interest to the FreeBSD community and how they help to improve our TCP implementation.

    It has been a busy year since attending my inaugural BSDCan in 2008, where I talked about some of my work with TCP in FreeBSD.

    I have continued the work on TCP analysis/debugging tools and integrating modular congestion control into FreeBSD as part of the NewTCP research project. I will provide a progress update on this work.

    Additionally, a grant win from the FreeBSD Foundation to undertake a project titled "Improving the FreeBSD TCP Implementation" at Swinburne University's Centre for Advanced Internet Architectures has been progressing well. The project focuses on bringing TCP Appropriate Byte Counting (RFC 3465), reassembly queue auto-tuning and integration of low-level analysis/debugging tools to the base system, all of which I will also discuss.

  • Leslie Hawthorn - Google SoC
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, google, summer of code, leslie hawthorn
    PDF file (2.2 Mb, 44 pages)

    Google SoC

    Summer of Code

    In this talk, I will briefly discuss some general ways Google's Open Source Team contributes to the wider community. The rest of the talk will explore some highlights of the Google Summer of Code program, our initiative to get university students involved in Open Source development.

    I will cover the program's inception, lessons learned over time and tips for success in the program for both mentors and students. In particular, the talk will detail some experiences of the *BSD mentoring organizations involved in the program as a case study in successfully managing the program from the Open Source project's perspective. Any Google Summer of Code participants in the audience are welcome and encouraged to chime in with their own insights.

  • Luigi Rizzo - GEOM based disk schedulers for FreeBSD
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, geom, disk schedulers, luigi rzzo
    Slides (430 Kb, 40 pages)

    GEOM based disk schedulers for FreeBSD

    The high cost of seek operations makes the throughput of disk devices very sensitive to the offered workload. A disk scheduler can then help reorder requests to improve the overall throughput of the device, or improve the service guarantees for individual users, or both.

    Research results in recent years have introduced, and proven the effectiveness of, a technique called "anticipatory scheduling". The basic idea behind this technique is that, in some cases, requests that cause a seek should not be served immediately; instead, the scheduler should wait for a short period of time in case other requests arrive that do not require a seek to be served. With many common workloads, dominated by sequential synchronous requests, the potential loss of throughput caused by the disk idling times is more than balanced by the overall reduction of seeks.

    While a fair amount of research on disk scheduling has been conducted on FreeBSD, the results were never integrated in the OS, perhaps because the various prototype implementations were very device-specific and operated within the device drivers. Ironically, anticipatory schedulers are instead a standard part of Linux kernels.

    This talk has two major contributions:

    First, we will show how, thanks to the flexibility of the GEOM architecture, an anticipatory disk scheduling framework has been implemented in FreeBSD with little or no modification to a GENERIC kernel. While these schedulers operate slightly above the layer where one would naturally put a scheduler, they can still achieve substantial performance improvements over the standard disk scheduler; in particular, even the simplest anticipatory schedulers can prevent the complete trashing of the disk performance that often occurs in presence of multiple processes accessing the disk.

    Secondly, we will discuss how the basic anticipatory scheduling technique can be used not only to improve the overall throughput of the disk, but also to give service guarantees to individual disk clients, a feature that is extremely important in practice e.g., when serving applications with pseudo-real-time constraints such as audio or video streaming ones.

    A prototype implementation of the scheduler that will be covered in the presentation is available at http://info.iet.unipi.it/~luigi/FreeBSD/

  • Matthieu Herrb - X.org
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, x.org, matthieu herrb
    PDF file (1.6 Mb, 30 pages)

    X.org

    upcoming plans

    The X.Org project provides an open source implementation of the X Window System. The development work is being done in conjunction with the freedesktop.org community. The X.Org Foundation is the educational non-profit corporation whose Board serves this effort, and whose Members lead this work.

    The X window system has been changing a lot in the recent years, and still changing. This talk will present this evolution, summarizing what has already been done and showing the current roadmap for future evolutions, with some focus on how *BSD kernels can be affected by the developments done with Linux as the primary target.

  • Mike Silbersack - Detecting TCP regressions with tcpdiff
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, tcpdiff, freebsd, mike silbersack
    Slides (89 Kb, 33 pages)

    Detecting TCP regressions with tcpdiff

    Determining if a TCP stack is working correctly is hard. The tcpdiff project aims for a simpler goal: To automatically detect differences in TCP behavior between different versions of an operating system and display those differences in an easy to understand format. The value judgement of whether a certain change between version X and Y of a TCP stack is good or bad will be left to human eyes.

    Determining if a TCP stack is working correctly is hard. The tcpdiff project aims for a simpler goal: To automatically detect differences in TCP behavior between different versions of an operating system and display those differences in an easy to understand format. The value judgement of whether a certain change between version X and Y of a TCP stack is good or bad will be left to human eyes.

    The initial version of tcpdiff presented at NYCBSDCon 2008 demonstrated that it could be used to detect at least two major TCP bugs that were introduced into FreeBSD in the past few years. The work from that presentation can be viewed at http://www.silby.com/nycbsdcon08/.

    For BSDCan 2009, I hope to fix a number of bugs in tcpdiff, make it easier to use, set up nightly tests of FreeBSD, and improve it so that additional known bugs can be detected. Additionally, I plan to run it on OSes other than FreeBSD.

  • Pawel Jakub Dawidek - A closer look at the ZFS file system
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, zfs, freebsd, pawel jakub dawidek
    PDF file (150 Kb, 33 pages)

    A closer look at the ZFS file system

    simple administration, transactional semantics, end-to-end data integrity

    SUN's ZFS file system became part of FreeBSD on 6th April 2007. ZFS is a new kind of file system that provides simple administration, transactional semantics, end-to-end data integrity, and immense scalability. ZFS is not an incremental improvement to existing technology; it is a fundamentally new approach to data management. We've blown away 20 years of obsolete assumptions, eliminated complexity at the source, and created a storage system that's actually a pleasure to use.

    ZFS presents a pooled storage model that completely eliminates the concept of volumes and the associated problems of partitions, provisioning, wasted bandwidth and stranded storage. Thousands of file systems can draw from a common storage pool, each one consuming only as much space as it actually needs. The combined I/O bandwidth of all devices in the pool is available to all filesystems at all times.

    All operations are copy-on-write transactions, so the on-disk state is always valid. There is no need to fsck(1M) a ZFS file system, ever. Every block is checksummed to prevent silent data corruption, and the data is self-healing in replicated (mirrored or RAID) configurations. If one copy is damaged, ZFS detects it and uses another copy to repair it.

  • Peter Hansteen - Building the Network You Need with PF, the OpenBSD packet filter
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, tutorial, pf, openbsd, peter hansteen
    Slides (2.5 Mb, 68 pages)

    Building the Network You Need with PF, the OpenBSD packet filter.

    Building the network you need is the central theme for any network admin. This tutorial is for aspiring or seasoned network professionals with at least a basic knowledge of networking in general and TCP/IP particular. The session aims at teaching tools and techniques to make sure you build your network to work the way it's supposed to, keeping you in charge. Central to the toolbox is the OpenBSD PF packet filter, supplemented with tools that interact with it. Whether you are a greybeard looking for ways to optimize your setups or a greenhorn just starting out, this session will give you valuable insight into the inner life of your network and provide pointers to how to use that knowledge to build the network you need. The session will also offer some fresh information on changes introduced in OpenBSD 4.5, the most recent version of PF and OpenBSD. The tutorial is loosely based on Hansteen's recent book, /The Book of PF/ (No Starch Press), with updates and adaptations based on developments since the book's publication date.

  • Philip Paeps - Crypto Acceleration on FreeBSD
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, crypto acceleration, freebsd, philip paeps
    Slides (361 Kb, 28 pages)

    Crypto Acceleration on FreeBSD

    As more and more services on the internet become cryptographically secured, the load of cryptography on systems becomes heavier and heavier. Crypto acceleration hardware is available in different forms for different workloads. Embedded communications processors from VIA and AMD have limited acceleration facilities in silicon and various manufacturers build hardware for accelerating secure web traffic and IPSEC VPN tunnels.

    This talk gives an overview of FreeBSD's crypto framework in the kernel and how it can be used together with OpenSSL to leverage acceleration hardware. Some numbers will be presented to demonstrate how acceleration can improve performance - and how it can curiously bring a system to a grinding halt.

    Philip originally started playing with crypto acceleration when he saw the "crypto block" in one of his Soekris boards. As usual, addiction was instant and by the grace of the "you touch it, you own it" principle, he has been fiddling the crypto framework more than is good for him.

  • Poul-Henning Kamp - Measured (almost) does Air Traffic Control
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, slides, air traffic control, scada, poul-henning kamp
    PDF file (7.7 Mb, 46 pages)

    Measured (almost) does Air Traffic Control

    Monitoring weird hardware reliably

    The new Danish Air Traffic Control system, CASIMO, prompted the development on a modular and general software platform for data collection, control and monitoring of "weird hardware" of all sorts.

    The talk will present the "measured" daemon, and detail some of the uses it has been put to, as an, admittedly peripheral, component of the ATC system.

    Many "SCADA" systems suffer from lack of usable interfaces for external access to the data. Measured takes the opposite point of view and makes real-time situation available, and accepts control instructions as ASCII text stream over TCP connections. Several examples of how this can be used will be demonstrated.

    Measured will run on any FreeBSD system, but has not been ported to other UNIX variants yet, and it is perfect for that "intelligent house" project of yours.

    I believe I gave a WIP presentation of this about two years ago.

  • Rafal Jaworowski - FreeBSD Embedded Report
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, devsummit, devsummit2008, freebsd, embedded, rafal jaworowski
    PDF file (58 Kb, 6 pages)
    FreeBSD Embedded Report

  • Rafal Jaworowski - Interfacing embedded FreeBSD with U-Boot
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, embedded, freebsd, u-boot, rafal jaworowski
    PDF file (300 Kb, 26 pages)

    Interfacing embedded FreeBSD with U-Boot

    Working with the de facto standard for an initial level boot loader

    In the embedded world U-Boot is a de facto standard for an initial level boot loader (firmware). It runs on a great number of platforms and architectures, and is open source.

    This talk covers the development work on integrating FreeBSD with U-Boot-based systems. Starting with an overview of differences between booting an all-purpose desktop computer vs. embedded system, FreeBSD booting concepts are explained along with requirements for the underlying firmware.

    Historical attempts to interface FreeBSD with this firmware are mentioned and explanation given on why they failed or proved incomplete. Finally, the recently developed approach to integrate FreeBSD and U-Boot is presented, with implementation details and particular attention on how it's been made architecture and platform independent, and how loader(8) has been bound to it.

  • Rafal Jaworowski - Porting FreeBSD/ARM to Marvell Orion System-On-Chip
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, freebsd, arm, marvell orion, rafal jaworowski
    PDF file (193 Kb, 25 pages)

    Porting FreeBSD/ARM to Marvell Orion System-On-Chip

    This talk covers the development work on porting the FreeBSD/ARM to Marvell Orion family of highly integrated chips.

    ARM architecture is widely adopted in the embedded devices, and since the architecture can be licensed, many implementation variations exist: Orion is a derivative compliant with the ARMv5TE definition, it provides a rich set of on-chip peripherals.

    Present state of the FreeBSD support for ARM is explained, areas for improvement highlighted and its overall shape and condition presented.

    The main discussion covers scope of the Orion port (what integrated peripherals required new development, what was adapted from existing code base); design decisions are explained for the most critical items, and implementation details revealed.

    Summary notes are given on general porting methodology, debugging techniques and difficulties encountered during such undertaking.

  • Randall Stewart - SCTP what it is and how to use it
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, abstract, freebsd, sctp, randall stewart
    PDF file (130 Kb, 10 pages)

    SCTP - SCTP what it is and how to use it

    This talk will introduce the attendee into the interesting world of SCTP.

    We will first discuss the new and different features that SCTP (a new transport in FreeBSD 7.0) provide to the user. Then we will shift gears and discuss the extended socket API that is available to SCTP users and will cover such items as:

    • The two socket programming models
    • Extended system calls that support the SCTP feature set.
    • What model may fit you best
  • Randi Harper - Automating FreeBSD Installations
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, pxe, sysinstall, randi harper
    Slides (33 Kb, 14 pages)

    Automating FreeBSD Installations
    PXE Booting and install.cfg Demystified

    This paper will provide an explanation of the tools involved in performing an automated FreeBSD install and a live demonstration of the process.

    FreeBSD's sysinstall provides a powerful and flexible mechanism for automated installs but doesn't get used very often because of a lack of documentation.

  • Robert Watson - BSDCan 2008 - Closing
    Source: BSDCan - The Technical BSD Conference
    Added: 21 May 2008
    Tags: bsdcan, bsdcan2008, slides, robert watson
    PDF file (428 Kb, 55 pages)

    Closing

    Beer, prizes, secrets, Works In Progress

    The traditional closing...
    with some new and interesting twists. Sleep in if you must, but don't miss this session.

  • Robert Watson - TCP SMP Scalability
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, devsummit, devsummit2008, freebsd, smp, robert watson
    PDF file (70 Kb, 8 pages)
    TCP SMP Scalability

  • Scott Ullrich, Chris Buechler - pfSense Tutorial
    Source: BSDCan - The Technical BSD Conference
    Added: 28 May 2008
    Tags: bsdcan, bsdcan2008, tutorial, freebsd, pfsense, scott ullrich, chris buechler
    PDF file (4.1 Kb, 91 pages)

    pfSense Tutorial

    From Zero to Hero with pfSense

    pfSense is a free, open source customized distribution of FreeBSD tailored for use as a firewall and router. In addition to being a powerful, flexible firewalling and routing platform, it includes a long list of related features and a package system allowing further expandability without adding bloat and potential security vulnerabilities to the base distribution. pfSense is a popular project with more than 1 million downloads since its inception, and proven in countless installations ranging from small home networks protecting a PC and an Xbox to large corporations, universities and other organizations protecting thousands of network devices.

    This tutorial is being presented by the founders of the pfSense project, Chris Buechler and Scott Ullrich.

    The session will start with an introduction to the project, hardware sizing and selection, installation, firewalling concepts and basic configuration, and continue to cover all the most popular features of the system. Common usage scenarios, deployment considerations, step by step configuration guidance, and best practices will be covered for each feature. Most configurations will be demonstrated in a live lab environment.

    Attendees are assumed to have basic knowledge of TCP/IP and firewalling concepts, however no in-depth knowledge in these areas or prior knowledge of pfSense or FreeBSD is necessary.

  • Sean Bruno - Firewire BoF Plugfest
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, firewire, plugfest, sean bruno
    Slides (37 Kb, 1 page)

    Firewire BoF Plugfest
    Debugging and testing of Firewire products with FreeBSD

    Come one come all to a Firewire plugfest. Let's debug and test together and see if we can't knock out some features and bugs.

    A hands-on testing and debugging session of the Firewire stack in FreeBSD.

    Everyone who wishes to attend should bring their Firewire devices, ext Drives and Cameras, and their Laptops. I will be debugging and capturing data points to enhance and improve features in the Firewire stack.

    We should be able to knock out quite a bunch of bugs if folks can bring their various Firewire devices along with their various PCs.

    Even if your Firewire device works perfectly, bring it by so it can be documented as supported by the Firewire team!

  • Sean Bruno - Implementation of TARGET_MODE applications
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, firewire, sean bruno
    Slides (72 Kb, 22 pages)

    Implementation of TARGET_MODE applications
    How we used TARGET_MODE in the kernel to create and interesting product

    This presentation will cover a real world implementation of the TARGET_MODE infrastructure in the kernel (stable/6). Topics to include: drivers used (isp, aic7xxx, firewire). scsi_target userland code vs kernel drivers missing drivers (4/8G isp support, iSCSI target)

    Target Mode describes a feature within certain drivers that allows a FreeBSD system to emulate a Target in the SCSI sense of the word. By recompiling your kernel with this feature enabled, it permits one to turn a FreeBSD system into an external hard disk. This feature of the FreeBSD kernel provides many interesting implementations and is highly desirable to many organizations whom run FreeBSD as their platform.

    I have been tasked with the maintenance of a proprietary target driver that interfaces with the FreeBSD kernel to do offsite data mirroring at the block level. This talk will discuss the implementation of that kernel mode driver and the process my employer went through to implement a robust and flexible appliance.

    Since I took over the implementation, we have implemented U160 SCSI(via aic7xxx), 2G Fibre Channel(via isp) and Firewire 400 (via sbp_targ). Each driver has it's own subtleties and requirements. I personally enhanced the existing Firewire target driver and was able to get some interesting results.

    I hope to demonstrate a functional Firewire 400/800 target and show how useful this application can be for the embedded space. Also, I wish to demonstrate the need for iSCSI. USB and 4/8G Fibre Channel target implementations that use the TARGET_MODE infrastructure that is currently in place to allow others to expand their various interface types.

    The presentation should consist of a high level overview, followed by detailed implementation instructions with regards to the Firewire implementation and finish up with a hands-on demonstration with a FreeBSD PC flipped into TARGET_MODE and a Mac.

  • Stephen Borrill - Building products with NetBSD - thin-clients
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, netbsd, thin client, stephen borrill
    Slides (499 Kb, 60 pages)

    Building products with NetBSD - thin-clients
    NetBSD: delivering the goods

    This talk will discuss what thin-clients are, why they are useful and why NetBSD is good choice to build such a device.

    This talk will provide information on some alternatives and the strengths and weaknesses of NetBSD when used in such a device.

    It will discuss problems that needed to be addressed such as how to get a device with rich functionality running from a small amount of flash storage, as well as recent developments in NetBSD that have helped improve the product.

  • The FreeBSD Security Officer function
    Source: BSDCan - The Technical BSD Conference
    Added: 20 May 2007
    Tags: bsdcan, bsdcan2007, pdf, freebsd, security officer, simon l nielsen
    PDF version (252 Kb, 29 pages)
    "FreeBSD Security Officer function" at BSDCAN 2007 by Simon L. Nielsen (FreeBSD Deputy Security Officer)

  • Warner Losh - FreeBSD/mips
    Source: BSDCan - The Technical BSD Conference
    Added: 26 May 2008
    Tags: bsdcan, bsdcan2008, slides, freebsd, mips, embedded, warner losh
    PDF file (1.3 Mb, 19 pages)

    FreeBSD/mips

    Embedding FreeBSD

    FreeBSD now runs on the MIPS platform. FreeBSD/mips supports MIPS-32 and MIPS-64 targets, including SMP for multicore support.

    FreeBSD/mips is targeted at the embedded MIPS marketplace. FreeBSD has run on the MIPS platform for many years. Juniper ported FreeBSD to the Mips platform in the late 1990's. However, concern about intellectual property issues kept Juniper from contributing the port back to FreeBSD until recently. The contributed port was a 64-bit mips port.

    In the mean time, many efforts were made to bring FreeBSD to the mips platform. The first substantial effort to bring FreeBSD to the Mips platform was done by Juli Mallet. This effort made it to single user, but never further than that. This effort was abandoned due to a change in Juli's life. The port languished.

    Two years ago at BSDcan, as my involvement with FreeBSD/arm was growing, I tried to rally the troops into doing a FreeBSD/mips port. My efforts resulted in what has been commonly called the "mips2" effort. The name comes from the choice of //depot/projects/mips2 to host the work in perforce. A number of people worked on the earliest versions of the port, but it too languished and seemed destined to suffer the same fate as earlier efforts. Then, two individuals stood up and started working on the port. Wojciech A. Koszek and Oleksandr Tymoshenko pulled in code from the prior efforts. Through their efforts of stabilizing this code, the port to the single user stage and ported it to three different platforms. Others ported it to a few more. Snapshots of this work were released from time to time.

    Cavium Networks picked up one of these snapshots and ported it to their multicore mips64 network processor. Cavium has kindly donated much of their work to the comminuty.

    In December, I started at Cisco systems. My first job was to merge all the divergent variants of FreeBSD/mips and get it into shape to push into the tree. With luck, this should be in the tree before I give my talk.

    In parallel to this, other advances in the embedded support for FreeBSD have been happening as well. I'll talk about new device drivers, new subsystems, and new build tools that help to support the embedded developer.

  • Warner Losh - Tracking FreeBSD in a commercial Environment
    Source: BSDCan - The Technical BSD Conference
    Added: 25 May 2009
    Tags: bsdcan, bsdcan2009, presentation, freebsd, commercial environment, waner losh
    Paper (624 Kb, 45 pages), Slides (104 Kb, 10 pages)

    Tracking FreeBSD in a commercial Environment
    How to stay current while staying sane

    The FreeBSD project publishes two lines of source code: current and stable. All changes must first be committed to current and then are merged into stable. Commercial organizations wishing to use FreeBSD in their products must be aware of this policy. Four different strategies have developed for tracking FreeBSD over time. A company can choose to run only unmodified release versions of FreeBSD. A company may choose to import FreeBSD's sources once and then never merge newer versions. A company can choose to import each new stable branch as it is created, adding its own changes to that branch, as well as integrating new versions from FreeBSD from time to time. A company can track FreeBSD's current branch, adding to it their changes as well as newer FreeBSD changes. Which method a company chooses depends on the needs of the company. These methods are explored in detail, and their advantages and disadvantages are discussed. Tracking FreeBSD's ports and packages is not discussed.

    Companies building products based upon FreeBSD have many choices in how to use the projects sources and binaries. The choices range from using unmodified binaries from FreeBSD's releases, to tracking modify FreeBSD heavily and tracking FreeBSD's evolution in a merged tree. Some companies may only need to maintain a stable version of FreeBSD with more bug fixes or customizations than the FreeBSD project wishes to place in that branch. Some companies also wish to contribute some subset of their changes back to the FreeBSD project.

    FreeBSD provides an excellent base technology with which to base products. It is a proven leader in performance, reliability and scalability. The technology also offers a very business friendly license that allows companies to pick and choose which changes they wish to contribute to the community rather than forcing all changes to be contributed back, or attaching other undesirable license conditions to the code.

    However, the FreeBSD project does not focus on integration of its technology into customized commercial products. Instead, the project focuses on producing a good, reliable, fast and scalable operating system and associated packages. The project maintains two lines of development. A current branch, where the main development of the project takes place, and a stable branch which is managed for stability and reliability. While the project maintains documentation on the system, including its development model, relatively little guidance has been given to companies in how to integrate FreeBSD into their products with a minimum of trouble.

    Developing a sensible strategy to deal with both these portions of FreeBSD requires careful planning and analysis. FreeBSD's lack of guidelines to companies leaves it up to them to develop a strategy. FreeBSD's development model differs from some of the other Free and Open Source projects. People familiar with those systems often discover that methods that were well suited to them may not work as well with FreeBSD's development model. These two issues cause many companies to make poor decisions without understanding the problems that lie in their future.

    Very little formal guidance exists for companies wishing to integrate FreeBSD into their products. Some email threads can be located via a Google search that could help companies, but many of them are full of contradictory information, and it is very disorganized. While the information about the FreeBSD development process is in the FreeBSD handbook, the implications of that process for companies integrating FreeBSD into their products are not discussed.