Links on this page refer to multimedia resources (podcast, vodcast,
audio recordings, video recordings, photos) related to DragonFlyBSD or
of interest for DragonFlyBSD users.
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.
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
- 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.