Language: EN  JA

Registration Fees

  • Delegate (non-student): 16,000JPY (until March 1, 2010), 19,000JPY (on and after March 2, 2010, or on site)
  • Student: 4,000JPY (until March 1, 2010), 5,000JPY (on and after March 2, 2010, or on site)
  • Banquet ticket on 13th: Delegate 6,000JPY, Student: 3,000JPY.

This registration fee includes name card, printed proceedings, T-shirt, and tickets of lunch during the last two days and a dinner on the last day. Banquet on 13th needs banquet ticket. Note that you need to register even if you are planning to attend one of the tutorial sessions or meetings in the first two days and not to attend the last two days.

Tutorial Fees

  • Half-day Tutorial (all): 8,000JPY/class (3,000JPY for students)

This tutorial fee includes printed materials.

Hotel Accommodations (see also Access Map)

AsiaBSDCon organizing committee recommends HotelsCombined.com to find your hotel accommodation because AsiaBSDCon attendees can receive 10% discount via their International Conference Support Program. The location keyword "Tokyo Dome" would be useful for you to find hotels near the venue (see also Access Map). The details are the following:

You will find a variety of accommodation options in Tokyo by using HotelsCombined.com, and it provides an accommodation price comparison search engine and is offering a 10% rebate all participants attending the AsiaBSDCon 2010.

For further information on their conference rebate program and to claim your rebate directly please visit: http://www.HotelsCombined.com/Conference_Support. You can start searching for your preferred hotel in Tokyo here: http://www.hotelscombined.com/City/Tokyo.htm.

Please contact if you need support and/or have a specific question about the accommodation.

Conference Timetable

NOTE: this page will be updated when more detailed information is available.

iCalendar file is here.


Day 1 (March 11, 2010) - Tutorials and Small Meetings I

Please note that Day 1 is for tutorials and meetings only. No exhibition and no paper session for unregistered attendees to them.

Room ARoom BRoom CRoom D
10:00 - 12:30 Tutorial T1A:
Installing and running NanoBSD on embedded systems and appliances
Paul Schenkeveld and Cor Hilbrink
Tutorial T1B:
VoIP Tutorial
Massimiliano Stucchi
- Meeting B1D:
*BSD DevSummit
(invited only)
14:00 - 16:30 Tutorial T2A:
Introduction to NETGRAPH on FreeBSD Systems
Adrian Steinmann
- -

Day 2 (March 12, 2010) - Tutorials and Small Meetings II

Please note that Day 2 is for tutorials and meetings only. No exhibition and no paper session for unregistered attendees to them.

Room ARoom BRoom CRoom D
10:00 - 12:30 Tutorial T3A:
Networking From the Bottom Up: Device Drivers
George V. Neville-Neil
- - Meeting B4D:
*BSD DevSummit
(invited only)
14:00 - 16:30 Tutorial T4A:
The Socket API for SCTP
Randall R. Stewart
Meeting B3B:
NetBSD BoF
Chair: Jun Ebihara
-

Day 3 (March 13, 2010) - Paper Session I (2 Tracks)

Room ARoom BRoom D
09:50 - 10:00 Opening
10:00 - 11:00 P1A: PC-SYSINSTALL - A new system installer backend for PC-BSD and FreeBSD
Kris Moore <kris@pcbsd.com>
P1B: OpenBSD audio & MIDI framework for music and desktop applications
Alexandre Ratchov <alex@caoua.org>
-
11:00 - 12:00 P2A: Native SeND kernel API for *BSD
Ana Kukec <anchie@fer.hr>
P2B: vscsi(4) and iscsid -- iSCSI initiator the OpenBSD way
Claudio Jeker <claudio@openbsd.org>
-
12:00 - 13:30 Lunch
13:00 - 14:00 Plenary Talk: TBA
TBA [CANCELED]
-
13:30 - 14:30 P4A: Building Servers with NanoBSD, ZFS and jails
Paul Schenkeveld <bsdcon@psconsult.nl>
P4B: Ecdysis: Open-Source DNS64 and NAT64
Simon Perreault <simon.perreault@viagenie.ca>
-
14:30 - 15:30 P5A: Porting ZFS to NetBSD
Adam Hamšík <haad@netbsd.org>
[CANCELED]

P5A: Rump Device Drivers: Shine On You Kernel Diamond
Antti Kantee <pooka@cs.hut.fi>
P5B: SMP Implementation for OpenBSD/sgi
Takuya ASADA <syuu@openbsd.org>
-
15:30 - 16:00 Break
16:00 - 17:00 P6A: What's wrong with PF
Ryan McBride <mcbride@countersiege.com>
P6B: Quiet Computing with BSD
Constantine A. Murenin <C++@Cns.SU>
BSD Associate Examination (16:30-18:15)
19:00 - 21:00 Banquet

Day 4 (March 14, 2010) - Paper Session II (2 Tracks)

Room ARoom BRoom D
10:00 - 11:00 P7A: Wireless Mesh Networks under FreeBSD
Rui Paulo <rpaulo@FreeBSD.org>
P7B: Epitome2: dedup for the masses
Marco Peereboom <marco@openbsd.org>
-
11:00 - 12:00 P8A: Porting HPC Tools to FreeBSD
Brooks Davis <brooks@aero.org>
P8B: Softraid: OpenBSD's virtual HBA, with benefits
Marco Peereboom <marco@openbsd.org>
-
12:00 - 13:00 Lunch
13:00 - 14:30 Keynote: Closing the DNS Security Loop with DNSSEC
Peter Losher
14:30 - 15:00 Break
15:00 - 16:00 P10A: BSD in the routing industry
Massimiliano Stucchi <stucchi@gufi.org>
P10B: Hardware Performance Monitoring Counters on non-X86 Architectures
George Neville-Neil <gnn@neville-neil.com>
BSD Associate Examination (14:30-16:15)
16:20 - 18:10 Work-In-Progress Session and Closing
-
18:15 - 20:30 Small Dinner

Keynote


Keynote: Closing the DNS Security Loop with DNSSEC

Abstract:

On July 1st, 2010, the root zone will be signed and fully validatable with DNSSEC (DNS Security Extensions). This will start the process of having a fully validatable secure DNS tree. This presentation will walk you thru how DNSSEC was developed, some of the pitfalls that came along the way (and their solutions), how this will affect DNS operators going forward, and what the OS vendors (in this case *BSD) can do to better support a coming DNSSEC-enabled DNS infrastructure.

Speaker:

Peter Losher is a Senior Operations Architect with Internet Systems Consortium (ISC) based in Redwood City, California, USA. He has over 15 years of system administration experience including almost ten years building and maintaining worldwide DNS deployments. This includes F.ROOT-SERVERS.NET, one of the 13 DNS root servers, and ISC's new secondary name service SNS@ISC.

Plenary Talk


Plenary Talk: TBA

Abstract:

[CANCELED]

Speaker:

[CANCELED]

This time slot was originally planned for a plenary talk by Theo de Raadt but in the best interest of the OpenBSD Project and the upcoming 4.7 Release, he will not be able to make it to AsiaBSDCon this year. The organizing committee apologizes for your inconvenience caused by this.

Tutorials


T1A: Installing and running NanoBSD on embedded systems and appliances

Abstract:

Small, low-power or specialized computers are gaining popularity for all kinds of computing tasks ranging from small firewalls, (wireless) routers, storage serves and software telephone switches to process control and environmental measurement systems. Many tools have shown up to adapt your favorite open source operating system for getting the most out of an embedded system.

This tutorial first addresses the challenges faced when building up and using embedded systems in general and then focusses on NanoBSD, a build tool that comes with FreeBSD to ease the complete process of building such systems with FreeBSD. During the tutorial NanoBSD will be used to build up a complete system on Soekris hardware and many practical tips and tricks will be presented to efficiently build and maintain embedded systems using NanoBSD.

Instructor:

Paul Schenkeveld started programming computers while at high school when very few students had ever seen a computer. After finishing high school he decided to find a job as few people knew computers and demand was high. He first met UNIX in 1983 and immediately knew this was the OS to work with. After five jobs programming and supporting computers he became an independent consultant for UNIX, IP networking and security.

Having worked with many commercial UNIX versions during ten years, he found FreeBSD which he first installed when version 1.0 came out to be much more fun to play with. Today, he spends most of his time on projects involving (Free)BSD and, networking and security.

During the last three or four years Paul has spent a lot of time automating the FreeBSD build and upgrade process for the more than 100 FreeBSD systems he maintains. He often uses small embedded computers made by Soekris as firewalls, terminal servers, access points etc. NanoBSD turned out to be a valuable tool to automate the install and maintenance cycle for these small systems.

Paul likes travelling, is active in Scouting and loves the food his Thai wife cookes for him and their son.

Cor Hilbrink, studied at HTS electronics Rens & Rens Hilversum. Started in 1990 as SCO Unix support engineer in the Benelux. Since then, a number of Unix and Linux flavours have been used in a wide range of Unix/network projects. As SCO auth. Instructor, instructed several Unix and network training classes in several European countries.

After a few years of Unix history, BSD and specially FreeBSD became my favourite Unix platform. Developing proprietary build systems to build Unix or Linux based Cash registers or just master systems was for a number of years one of my primary job. Installing and designing Nonstop clusters on Unixware and Tru-64 was one of the latest commercial solutions I implemented for more then 30 customers all over Europe.

Since 2001 mainly developing and implementing tailor made FreeBSD and OpenBSD based solutions for customers. Because of the cash register and electronics background it was not a huge step to use NanoBSD and Soekris and other small peripheral hardware in projects.


T1B: VoIP Tutorial

Abstract:

VoIP is now leading a revolution in the way the World communicates, and is the rising concept which will allow seamless integration between Voice and data networks.

The leade of this revolution is the Asterisk project, allowing to run a PBX on any Unix-like operating system, and thus allowing any company or individual to taste the possibilities provided by the software and its flexibility.

In this tutorial we will introduce the key concepts around VoIP, and we will guide you through the terminology, setup and troubleshoot of a small VoIP network, looking towards a connection to some VoIP providers, setting up a simple IVR system, along with some ideas on how to integrate this work in an existing phone system.

This tutorial will guide you through the Installation and configuration of the Asterisk Telephony system on BSD. Key telephony concepts are explained during the process to help the audience get into this new world with the right know-how, as well as the hands-on needed to manage the software. Advanced topics are covered such as AGI integration and PRI devices, including driver installation and integration.

The layout of the tutorial consists in constructing a pbx from scratch form a newly installed FreeBSD system, putting many applications in place, running an IVR, and connecting the PBX to a public network via a SIP gateway. The audience will be guided through every single step involved in the "construction" of the PBX, with a detailed description of every action taken and the various possibilities related to the configuration of the toolkit.

Instructor:

Massimiliano Stucchi is CTO of BrianTel, an Italian ISP and WISP. Holding his position, he manages a broad range of systems and technologies with his fellow NOC'ers, such as a geographical wireless network ranging throughout northern Italy, PoPs in a few datacenters and a wired access network spanning the whole country. He is also responsible for running the route servers for MINAP, an internet exchange, and helps running the Italian FreeBSD Users Group (GUFI). In his other life, he's an official referee for the Italian Soccer Federation and a hardcore fan of a few players on the WTA Tour.


T2A: Introduction to NETGRAPH on FreeBSD Systems

Abstract:

FreeBSDs netgraph infrastructure can be understood as customizable network plumbing . Its flexibility and the fact that it runs in the kernel makes it an attractive enabling technology where time-to-market and performance are important. For this tutorial, some experience in networking is recommended.

The goal of the tutorial is to become familiar with the FreeBSDs netgraph framework and the currently available netgraph kernel modules. The participants will gain insight and understanding for which projects lend themselves well to netgraph solutions. A number of examples are shown which can be used as a starting points for new netgraph projects.

In the first part of the tutorial, the netgraph nodes, hooks, and control messages are described and the command syntax is explained via demonstrations on simple examples. Participants learn how they can describe a network connection in terms of its underlying protocols and how to express a solution using netgraph terminology.

The second part of the tutorial investigates frequently used netgraph nodes and shows how they interconnect to create network protocols. More complex netgraph examples including VLAN bridges, UDP tunnels, and the Multi-link Point-to-Point daemon are described. Guidelines and resources for developing custom netgraph modules are surveyed.

Instructor:

Adrian Steinmann earned a Ph.D. in Mathematical Physics from Swiss Federal Institute of Technology in Zurich, Switzerland and has over 20 years experience as an IT consultant and software developer. He is founder of Webgroup Consulting AG, a Swiss consulting company.

He has been working with FreeBSD since 1993 and NetBSD since 2005. He develops and maintains the STYX system to offer FreeBSD remote managed firewall services and to build custom systems on small x86 based platforms. This enabling technology has also been used to build secure encryption appliances on commodity hardware for the Swiss IT industry.

He is fluent in Perl, C, English, German, Italian, and has passion and flair for finding straightforward solutions to intricate problems.

During his free time he likes to play go, to hike, to travel, and to sculpt.


T3A: Networking From the Bottom Up: Device Drivers

Abstract:

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.

Instructor:

George Neville-Neil works on networking and operating system code for fun and profit. He also teaches various course on subjects related to computer programming. His professional areas of interest include code spelunking, operating systems, networking and security. He is the co-author with Marshall Kirk McKusick of _The Design and Implementaion of the FreeBSD operating system_ and is the columnist behind ACM Queue's "Kode Vicious." Mr. Neville-Neil earned his bachelor's degree in computer science at Northeastern University in Boston, Massachusetts, and is a member of the ACM, the Usenix Association and the IEEE. He is an avid bicyclist and traveler who currently resides in New York City.


T4A: The Socket API for SCTP

Abstract:

SCTP is a relatively new transport protocol that can be used in any situation in which one wants relaible data communcaition, much like TCP. However SCTP offers some real advantages that TCP does not offer, such as:

  • The ability to send un-ordered messages

  • The ability to have parrallel ordered streams of messages that perserves message order with respect to one stream but not with respect to others.

  • An unreliable option that allows a sender to "give up" sending a message if it does not arrive in a timely fashion.

  • Redundancy via multi-homing at the transport layer, a feature some in the TCP world are just beginning to think about.

  • Message boundary preservation so an application sends and receives messages and does not have to worry about message framing.

This half-day tutorial will walk the attendees through the many features of SCTP from the perspective of the socket API. The student will learn:

  • The two socket API models that SCTP supports.

  • How to send and receive messages with the extend SCTP API's.

  • How to use SCTP's streams features.

  • What are SCTP Notifications and how do you get them.

  • A survey and description of the many SCTP socket options.

The student is exected to be able to follow along in "C" code has the instructor walks the student through various example code.

Instructor:

Randall Stewart is a Distinguished Engineer for Huawei Technologies Inc, and is a FreeBSD committer that maintains the SCTP stack in FreeBSD. In past lives Randall has been a Cisco Distinguished Engineer, and a Member of Technical Staff for Motorola, NYNEX S&T, Bell Northern Research, Fijitsu Network Switching, and AT&T communications. His work has always focused on *NIX Operating Systems, Fault tolerance and base infrastructure (e.g. Rserpool RFC5351-6). More information can be found at: http://www.sctp-consultant.com


Meetings


B1D, B4D: *BSD Developer Summit (invited only)

Chair:
TBA

B3B: NetBSD BoF

Chair:
Jun Ebihara (SOUM Corporation)
Abstract:

A short meeting, open for all users and developers who are interested in NetBSD. Any presentation/work in progress are welcome.


BSD Associate Examination

Abstract:

The BSDA certification is an entry-level certification on BSD Unix systems administration. For more details, please visit:

http://www.bsdcertification.org/certification/associate.html

NOTE: For this exam you need pre-registration via the above URL.


Papers


P1A: PC-SYSINSTALL - A new system installer backend for PC-BSD and FreeBSD

Abstract:

The sysinstall tool has been the default system installer for FreeBSD for more than a decade now. While is it has proven itself to be reliable and resilient over the years, it doesn't support many of the new features that FreeBSD offers, as well as being un-intuitive for desktop users, who expect an easy to use graphical front-end to perform their installation. To solve these two problems the "pc-sysinstall" backend was created and now is in usage for PC-BSD 8.0. This new installer backend provides much of the same functionality as sysinstall, while offering many new features such as support for ZFS, Encryption, mirroring, scriptable installs and the ability to work with different front-ends, such as a QT based GUI. The backend also supports installing regular FreeBSD, which allows server administrators to quickly perform an installation using the new disk features it offers.

Author:

Kris Moore is the founder and lead developer of PC-BSD, a desktop version of FreeBSD, which provides an easy way for users to get and run FreeBSD on the desktop. Kris works for iXsystems which is the corporate sponsor of PC-BSD and the all-around FreeBSD company that builds FreeBSD-certified servers and storage solutions. He lives in the greater Knoxville Tennessee area (USA), and enjoys building custom PCs, tinkering and gaming in his spare time.


P1B: OpenBSD audio & MIDI framework for music and desktop applications

Abstract:

Sndio is an enhancement of OpenBSD audio and MIDI subsystems. It features an audio and MIDI server and provides a new library-based API.

The proposed framework, attempts to meet most requirements of desktop applications, but pays special attention to synchronization mechanisms required by music applications. The current implementation supports conversions, resampling, mixing, channel mapping, device splitting, and synchronization of audio streams. Additionally, per-application volume and synchronization are controlled by standard MIDI protocols, allowing interoperability not only with MIDI applications but also with MIDI hardware connected to the machine. Simplicity and robustness of the architecture, the design and the implementation are part of the requirements; thus certain complicated or non-essential features are not provided (e.g., effects, monitoring, network transparency).

First, we present the problem sndio attempts to solve and the project goals. Then we discuss all technical choices attempting to show they are a natural consequence of project goals. Then we present the resulting sndio architecture. Finally we show few use-cases to illustrate how sndio is used in real-life.

Author:

Alexandre Ratchov is a developer within the OpenBSD project since 2007, involved in audio and MIDI sub-systems. He earned a Ph.D. in Theoretical Physics from the Joseph Fourier University in France in 2005 and currently works as software engineer.

Alexandre is a non-professional pianist and causal electronics hobbyist. He mostly uses electronic musical instruments. He's interested in electronic and computer applications in music and in 2003 he founded the midish project, a shell-like MIDI sequencer and real-time filter for Unix. His approach in this domain emphasizes on solving problems in the most straightforward way, attempting to achieve correctness and robustness through simplicity.


P2A: Native SeND kernel API for *BSD

Abstract:

In the legacy world of Internet Protocol Version 4 (IPv4), the link layer protocol, the Address Resolution protocol (ARP) is known to be vulnerable to spoofing attacks, but has nevertheless been in use entirely unsecured. The Neighbor Discovery Protocol (NDP), which in the IPv6 world roughly corresponds to IPv4 ARP, is vulnerable to a similar set of threats if not secured. The Secure Neighbor Discovery (SeND) extensions counter security threats to NDP by offering proof of address ownership, message protection, and router authorization. The current lack of robust support for SeND within BSD operating system family and drawbacks in the existing reference SeND implementation limits its deployment. We illustrate the protocol enhancements and their implemenation by rehashing the known problem scenarios with unsecured NDP and providing the short information about SeND. We then describe the design and implementation of a new, BSD licensed, kernel-userspace API for SeND, which mitigates the overhead associated with the reference implementation in FreeBSD, and which aims to improve portability to other BSD-derived operating systems.

Author:

Ana Kukec received her B.Sc. degree in 2007 from Faculty of Electrical Engineering and Computing, University of Zagreb. Ana currently holds a Research Assistant position within the Electrical Engineering and Computing faculty in Zagreb University, while completing her PhD degree in Computer Science. Over the last three years Ana has successfully accomplished a number of achievements within diverse areas of research, including the virtualisation of the IPsec kernel implementation for FreeBSD, and the implementation of the IKEv2 protocol on Linux sponsored by Siemens Munich. At the moment she is working on the development of the design and the implementation of security and management protocol for the decentralised and distributed emulator platform based on virtualized FreeBSD kernel and IMUNES. Ana has also co-authored four IETF drafts, two of which were adopted by the IETF CSI Working Group. Ana was recently sponsored by Google to implement the SeND protocol API for *BSD which she has described in the AsiaBSDCon 2010 paper.


P2B: vscsi(4) and iscsid -- iSCSI initiator the OpenBSD way

Abstract:

In the beginning large storage networks had to be built with Fibre Channel. Since Fibre Channel is expensive an alternative way to attach block-level devices to servers was searched. A protocol using Ethernet or TCP/IP would be a good cost-effective alternative since there is already an extensive Ethernet infrastructure available in data centers.

iSCSI is a protocol that transport SCSI commands and data over TCP. It combines two very popular protocols -- SCSI for block level I/O and TCP/IP for remote communication.

While many iSCSI implementations are inside the kernel the one implemented in OpenBSD is written in userland similar to the NetBSD initiator. But unlike NetBSD's, OpenBSD's version does not use a userland filesystem to hook the iSCSI disks into the kernel. Instead access is performed via vscsi(4) -- a virtual scsibus -- which allows userland to talk directly to the kernel SCSI midlayer. Vscsi is implemented in roughly 600 lines of code exporting the scsibus to userland via 6 ioctl(2) plus the possibility to use poll(2) or kqueue(2) to allow simple I/O multiplexing. The vscsi device uses these ioctls to issue commands and send or receive data from the kernel. The use of this interface it is fairly simple and makes it possible to write an iSCSI initiator in userland. The userland process can offload all the complex SCSI protocol handling to vscsi and the kernel and "only" needs to implement the session establishment and error recovery.

The presentation will give a quick introduction to the iSCSI protocol, the vscsi(4) interface is explained including sample code and the design and implementation of iscsid is illustrated.

Author:

Claudio Jeker is a long time OpenBSD developer doing mostly crazy networking stuff. After writing various privilege separated daemons I was "forced" by David Gwynne to write iscsid. The initial proof of concept was all hacked up during f2k9 -- the filesystem hackathon -- in Stockholm.

Claudio Jeker works for .vantronix a company selling OpenBSD based firewalls and routers.


P4A: Minimizing service windows on servers using NanoBSD + ZFS + jails

Abstract:

With more and more services and applications running on your average server, upgrading the operating system and application software becomes trickier and larger service windows are needed performing these upgrades.

Over the last four years the author has searched for means and methods to keep software up to date with minimum downtime and inconvenience for users and maximum consistency. The result is a model which combines the strength of NanoBSD, ZFS and jails to build servers where application upgrades result in downtime of only a few seconds and kernel upgrades only need the time to reboot without installing in (tampering with) the running system. This system is in production now for several months on about 10 servers at five different sites.

Author:

Paul Schenkeveld started programming computers while at high school when very few students had ever seen a computer. After finishing high school he decided to find a job as few people knew computers and demand was high. He first met UNIX in 1983 and immediately knew this was the OS to work with. After five jobs programming and supporting computers he became an independent consultant for UNIX, IP networking and security.

Having worked with many commercial UNIX versions during ten years, he found FreeBSD which he first installed when version 1.0 came out to be much more fun to play with. Today, he spends most of his time on projects involving (Free)BSD and, networking and security.

During the last four or five years Paul has spent a lot of time automating the FreeBSD build and upgrade process for the more than 100 FreeBSD systems he maintains. He often uses small embedded computers made by Soekris as firewalls, terminal servers, access points etc. The growing number of appliances built using NanoBSD inspired him to adapt some of the NanoBSD technology to servers in order to make them easier to administer and upgrade.


P4B: Ecdysis: Open-Source DNS64 and NAT64

Abstract:

Ecdysis is an open-source projet that is developing open-source DNS64 and NAT64 implementations. These two protocols are used jointly for translation from IPv6 clients to IPv4 servers. The implementations are based on the Bind and Unbound DNS servers for DNS64, and on Linux's Netfilter and OpenBSD's pf for NAT64.

Author:

Simon Perreault is the main author of Ecdysis. Since he joined Viagénie in 2007, he has been the maintainer of the IPv6 port of Asterisk and the author of the IPv6 port of FreeSWITCH. (Asterisk and FreeSWITCH are two open-source IP PBXes.) He is the author of Numb, an IPv6-enabled TURN server, which is an important piece of the transition of VoIP to IPv6. He is currently authoring several IETF protocols: TURN IPv6, TURN TCP, ICE TCP, vCard 4.0, and vCard XML. He holds an M.Sc. in electrical engineering from Laval University.


P5A: Porting ZFS to NetBSD [CANCELED]
Rump Device Drivers: Shine On You Kernel Diamond

Abstract:

BSD-based operating systems implement device drivers in kernel mode for historical, performance, and simplicity reasons. In this paper we extend the Runnable Userspace Meta Program (rump) paradigm of running unmodified kernel code directly in a userspace process to kernel device drivers. Support is available for pseudo device drivers (e.g. RAID, disk encryption, and the Berkeley Packet Filter) and USB hardware drivers (e.g. mass memory, printers, and keyboards). Use cases include driver development, regression testing, safe execution of untrusted drivers, execution on foreign operating systems, and more. The design and NetBSD implementation along with the current status and future directions are discussed.

Author:

Antti Kantee is a student, BSD apprentice and gastronomy neophyte.


P5B: SMP Implementation for OpenBSD/sgi

Abstract:

We started SMP implementation for OpenBSD/sgi and selected the SGI Octane as the first target machine. At the time of writing, SMP support is working and has been merged into the main tree.

Author:

Takuya ASADA


P6A: What's wrong with PF

Abstract:

A frank discussion of architectural and aesthetic flaws (but not bugs) in the standard BSD packet filter. Some of these are largely internal, code-related issues: internal data structures, code readability and maintainability, etc. Others have their roots in design tradeoffs: syntactic richness vs. simplicity and stability over time, portability vs. tight integration with other subsystems.

Resolving many of the issues is a challenge, especially since the OpenBSD project flavors "evolutionary" over "revolutionary" change. To illustrate the approach taken, the talk will include a closer look at the recently completed state-table restructuring, mostly finalised in the upcoming 4.7 release but initially planned in 2004 and implemented over 6+ releases.

Author:

Ryan McBride, CISSP, CISA - Information Security Professional and OpenBSD Hacker. Ryan has years of experience wearing a suit in the Information Systems industry, working with public, private, and non-profit organisations ranging in size from small office to "Fortune 50". His experience includes Security Policy development, Software Development, VPN design and deployment, firewall configuration, and IDS deployment and monitoring. When not wearing a tie, Ryan amuses himself by working on OpenBSD's networking code.


P6B: Quiet Computing with BSD

Abstract:

Quiet Computing with BSD
(Programming system hardware monitors for quiet computing)

In this talk, we will present an 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. A live demonstration of the fan-controlling prototype might be possible.

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 without impeding reliability or causing any system failures, as well as some basic principles regarding the practice of quiet computing.

A patch for programming the most popular chips (like those from Winbond) is already publicly available for the OpenBSD operating system, although the talk itself will be more specific to the microprocessor system hardware monitors themselves, as opposed to any specific interfacing with thereof in modern operating systems like OpenBSD, NetBSD, DragonFly BSD and FreeBSD. (Depending on the availability of the author, patches for systems other than OpenBSD may also be made available.)

Author:

Constantine A. Murenin is an MMath graduate student at the David R. Cheriton School of Computer Science at the University of Waterloo (CA). Prior to his graduate appointment, Constantine attended and subsequently graduated from East Carolina University (US) and De Montfort University (UK), receiving two Bachelor of Science degrees in Computer Science, with Honors and Honours, in 2007 and 2006, respectively. Active member of multiple open-source projects and a Google Summer of Code Alumnus, Constantine's interests range from standards compliance and usability at all levels, to quiet computing and hardware monitoring.

http://Constantine.SU/


P7A: Wireless Mesh Networks under FreeBSD

Abstract:

With the advent of low cost wireless chipsets, wireless mesh networks became much more attractive for both companies, governments, and the general consumer. Wireless mesh networks are being used extensively since the popularization of the 802.11 wireless technologies, but usually they worked with the help of layer 3 routing technologies. Since 802.11 didn't provide any kind of support for wireless mesh networks, in 2004, IEEE created the Task Group s (TGs) to develop a new amendment to 802.11 which would define the operation of a wireless mesh network using existing 802.11 hardware and having a routing protocol work at layer 2. Later, the amendment also included provisions for mesh authentication, encryption, link management, bridging mesh networks with other types of networks, and channel reservation. This paper will talk about the FreeBSD implementation of 802.11s that's available in version 8.0 and beyond. This work was sponsored by The FreeBSD Foundation.

Author:

Rui Paulo is a software consultant based in Portugal and a Computer Science student, who is a a FreeBSD committer since 2007. He successfully participated in the 2006, 2007 and 2008 editions of the Google Summer of Code and also in 2009 as a FreeBSD Summer of Code mentor. His interests in operating system development range from low level platform support to networking in general.

He was also a NetBSD developer in the past.

Lately, he's been seen hacking on FreeBSD and Linux wireless support.


P7B: Epitome2: dedup for the masses

Abstract:

As the proliferation, reliance and importance of rich digital formats have increased over the years, so have demands on data storage capacity. However, backup technologies have not kept up with this trend. The traditional time stamp based towers of Hanoi backup methodology cannot handle the sheer volume of data and backup windows have been significantly reduced due to the 24 hour online economy. This methodology also backs up the same content repeatedly, even if the content has not changed. This results in a flood of data transfer that can overwhelm networks and other critical resources. Over the same period of time disk technology has progressed in leaps and bounds, both in performance and more importantly, in reliability. In comparison to disks, tape technologies are still comparatively slow and the media tends to deteriorate over time. Additionally, there are the future hardware compatibility issues of trying to match a degraded tape to a working tape drive, not to mention the physical issues such as offline labeling and physical storage. To work around these issues several new backup and archival paradigms have been developed however, these are mostly out of reach of the open source community due to cost and licensing issues.

Author:

Marco Peereboom got involved with Open Source UNIXi in `96. After years of patching and hacking he decided to look for alternatives that suited his needs better and became interested in the OpenBSD project in 2001. After working on fixing up the SCSI mid-layer and working on mpt(4) he ended up as a committer on all things SCSI. He now works all over the tree scratching whatever itches.

He works for a large computer manufacturer in central Texas as a Sr. engineer where he has held several software and hardware development positions. His work has been concentrated on a wide range of server and storage products. In his spare time he enjoys hacking the OpenBSD kernel around a busy social schedule.


P8A: Porting HPC Tools to FreeBSD

Abstract:

Since 2001 we have used FreeBSD as a high performance computing (HPC) cluster operating system. In the process we have ported a number of HPC tools including Ganglia, Globus, Open MPI, and Sun Grid Engine. In this talk we will discuss the process of porting these types of applications and issues encountered while maintaining these tools. In addition to generally issues of porting code from one Unix-like operating system to another, there are several type of porting common to many HPC infrastructure codes which we will explore. Beyond porting, we will discuss how the ports collection aids our use of HPC applications and ways we think overall integration could be improved.

Author:

Brooks Davis is a Engineering Specialist in the Technical Computing Services subdivision of The Aerospace Corporation. He has been a FreeBSD user since 1994, a FreeBSD committer since 2001, and a core team member since 2006. He earned a Bachelors Degree in Computer Science from Harvey Mudd College in 1998. His computing interests include high performance computing, networking, security, mobility, and, of course, finding ways to use FreeBSD in all these areas. When not computing, he enjoys reading, cooking, brewing, trying to introduce people to the pleasures of Slow Food, and pounding on red-hot iron in his garage blacksmith shop.


P8B: Softraid: OpenBSD's virtual HBA, with benefits

Abstract:

Prior to softraid(4) OpenBSD had two RAID implementations. RAIDframe is a full blown RAID implementation written by Carnegie Mellon University and ccd(4) is a minimal RAID-like I/O transformation engine developed at the University of Utah.

RAIDframe has not been synchronized with the upstream codebase for years and has never been enabled by default. In the OpenBSD project that translates to unsupported code. The only work done on RAIDframe was an occasional change to ensure that it still compiles. The RAIDframe code base is large, complex and intended for research purposes.

The ccd(4) stack is enabled by default but has also not seen any significant change or update in years. The implementation is bare-bones and its use is complex and error prone.

Both of these implementations interact at the block I/O layer. This results in the need for implementation specific tools rather than using system defaults such as bioctl(8)5, the tool normally used for RAID management.

Due to the above mentioned reasons a new generic implementation of I/O transformation was devised. It had to fit the OpenBSD philosophy of being simple and powerful, which led to the development of a virtual Host Bus Adapter (HBA) with benefits. These benefits are the capability to transform any standard SCSI I/O operation into one or more complex operations, enabling functionality such as RAID, iSCSI and encryption.

Author:

Marco Peereboom got involved with Open Source UNIXi in `96. After years of patching and hacking he decided to look for alternatives that suited his needs better and became interested in the OpenBSD project in 2001. After working on fixing up the SCSI mid-layer and working on mpt(4) he ended up as a committer on all things SCSI. He now works all over the tree scratching whatever itches.

He works for a large computer manufacturer in central Texas as a Sr. engineer where he has held several software and hardware development positions. His work has been concentrated on a wide range of server and storage products. In his spare time he enjoys hacking the OpenBSD kernel around a busy social schedule.


P10A: BSD in the routing industry

Abstract:

The BSD family has always been very well known for its robust network stack, hence it has been widely used in many different fields and applications. In the ISP market, though, the situation is totally different, and solutions employing *BSD operating systems are often discarded in favour of proprietary solutions.

In this talk we will discuss the different possibilities offered by the BSD operating systems family in terms of networking tools and practices, compared to proprietary solutions offered by companies such as Cisco and Juniper, detailing the differences between them and highlighting the major points and drawbacks of each of them, up to a cost comparison in real field applications.

Real field applications will be introduced via explanation of the solutions created using BSD-based routing software in the real industry running in two different environments, an ISP spanning Europe and another one offering WISP services.

We will also delve into the experience in running a FreeBSD-/OpenBSD- and OpenBGPd-based route server at MINAP, the MIlanNeutralAccessPoint(http://www.minap.it), describing success stories and guiding the audience into a comparison with the other route servers running at the same IX, powered by Linux and Bird/Quagga.

Author:

Massimiliano Stucchi is CTO of BrianTel, an Italian ISP and WISP. Holding his position, he manages a broad range of systems and technologies with his fellow NOC'ers, such as a geographical wireless network ranging throughout northern Italy, PoPs in a few datacenters and a wired access network spanning the whole country. He is also responsible for running the route servers for MINAP, an internet exchange, and helps running the Italian FreeBSD Users Group (GUFI). In his other life, he's an official referee for the Italian Soccer Federation and a hardcore fan of a few players on the WTA Tour.


P10B: Hardware Performance Monitoring Counters on non-X86 Architectures

Abstract:

Hardware Performance Monitoring Counters provide programmers and systems integrators with the ability to gather accurate, low level, information about the performance of their code, both at the user and kernel levels. Until recently these counters were only available on Intel and AMD chips but they have now been made available on alternate, embedded, architectures such as MIPS and ARM. This paper discusses the motivation, design and implementation of counters using the hwpmc(4) driver in the FreeBSD operating system with an eye towards easing future porting efforts.

Author:

George Neville-Neil works on networking and operating system code for fun and profit. He also teaches various course on subjects related to computer programming. His professional areas of interest include code spelunking, operating systems, networking and security. He is the co-author with Marshall Kirk McKusick of _The Design and Implementaion of the FreeBSD operating system_ and is the columnist behind ACM Queue's "Kode Vicious." Mr. Neville-Neil earned his bachelor's degree in computer science at Northeastern University in Boston, Massachusetts, and is a member of the ACM, the Usenix Association and the IEEE. He is an avid bicyclist and traveler who currently resides in New York City.