Conference Abstracts

Migration from GCC to LLVM/Clang

presented by David Chisnall

This talk will cover the FreeBSD switch from using GCC to Clang as the system compiler. This switch involved a significant amount of effort and has made FreeBSD the first open source operating system to adopt this new compiler. David will look at some of the advantages of this switch, along with the challenges that were encountered along the way. Clang contains better error reporting than GCC and is closer to standards compliance for C++. This often meant that apparently correct code failed to compile, or generated large numbers of warnings, when we switched. This talk will also cover the advantages in other parts of the base system to having a modular compiler infrastructure at the core of our system compiler. Back to top

Automating the deployment of FreeBSD & PC-BSD* systems

presented by Kris Moore

In PC-BSD 9.x every installation is fully-scripted, due to the the pc-sysinstall backend. This backend can also be used to quickly automate the deployment of FreeBSD servers and PC-BSD desktops using a PXE boot environment. In PC-BSD & TrueOS™ 9.1 and higher, this functionality is easy to setup and deploy using the “pc-thinclient” utility. This utility handles the initial setup of PXE on the host system, and provides a framework to manage client installation configurations. Back to top

A comprehensive look at bsdconfig

presented by Devin Teske

bsdconfig(8) is a new application framework designed to help end-users, FreeBSD developers, 3rd-party developers, deployment engineers, and everyone in-between. To the end-user, it brings back and enhances missing functionality from sysinstall(8) such as package maintenance, network, and startup configuration. To the FreeBSD developer, it provides a huge set of robust libraries for providing functional and efficient user interfaces via dialog(1). To 3rd-party developers, it provides a way to hook in new menu items/interfaces through /usr/local/libexec (much like /usr/local/etc/rc.d exists for 3rd-party boot scripts). To the deployment engineer, it is scriptable (and mostly backward compatible with sysinstall(8) scripts while being much improved). In addition to these things, it has built-in support for debugging, X11 (requires x11/xdialog and x11/xauth from ports), running as non-root (automatically and securely escalates privileges only when needed; requires security/sudo from ports), and much more. Back to top

Evolution of the netmap framework

presented by Luigi Rizzo

This presentation will provide an overview of how the netmap framework has evolved since its inception and will describe lessons learned. netmap was designed in 2011 as a simple OS-bypass solution for fast network I/O. It brought impressive performance improvements to basic packet processing applications. Since then, we have explored extensions to the framework, trying to apply its performance enhancement techniques to virtual switching and virtualization, and making it useful for more general applications within the OS. The netmap API was used to create in-kernel software switch, called VALE, which can connect virtual machines at tens of millions of packets per second. VALE has been then extended to attach to physical interfaces and to the host stack, providing a functional replacement for FreeBSD and Linux native bridges, with much higher performance. More recently, the VALE switch has been integrated with OpenvSwitch, adding a flexible control plane to its high performance data plane. Back to top


presented by Baptiste Daroussin

PkgNG is a completely new package manager written from scratch which aims to replace the old pkg_install framework. It is developed on top of the high level library libpkg(8). This presentation describes a global view of how PkgNG works and features it provides. We will also have an overview of the libpkg(8) internals and how PkgNG employs this interface. Additionally, we will focus on the PkgNG plugin interfaces. Back to top

Inspecting packets with OpenBSD and PF

presented by Henning Brauer & Reyk Floeter

OpenBSD's packet filter, pf, was introduced in 2001 as an alternative to ipf. Over the years, pf has become a mature, secure, and powerful, yet easy to use high performance packet filter. In this presentation, Henning Brauer will describe some of the features of pf and Reyk Floeter will describe utilizing relayd in conjunction with pf. Some of the features and configurations we will discuss are using hooks for transparent proxies, deep packet inspection, socket splicing, NATs, load balancing and more. Back to top

Dispelling the Stigma of the "Dot-Oh" Release

presented by Scott Long

Conventional wisdom has always held that you should never base a product on a system deployment of a "Dot-Oh" release of anything, let alone an entire operating system. This wisdom states that you should follow by at least one release in order to stay safe and conservative. But how does a piece of software go from being .0 to .1? What happens to the community support model when you lag behind? Even more importantly, what happens to the developer support model when you lag behind? And finally, how do youj keep from slipping further behind and becoming obselete? This talk will discuss several case studies that show when the conventional wisdom is wrong and where embracing the Dot-Oh is a good thing. Back to top

FreeNAS® Plugins (everything you ever wanted to know)

presented by John Hixson

When FreeNAS® entered the 8.x series, many people were not happy that functionality that previously existed was no longer included. Such functionality was mainly multimedia focused and targeted at the home user. Services such as bittorrent, DLNA and iTunes media services are the primary examples. Beginning with FreeNAS® 8.2.0, a plugin architecture was introduced. This architecture allows FreeNAS® systems to be extended in any way that the user sees fit. The purpose of this paper is to describe the technical details of how the architecture works so that plugin authors have the knowledge to create new plugins. As a working example, the transmission bittorrent client plugin will be reviewed. Back to top

BSD Certification Exams

administered by Dru Lavigne/Jim Brown of

The BSD Certification Group (BSDCG) is pleased to offer the BSD certification exam to attendees of vBSDcon.

The exam will be paper based and in English. Exam information is available from the Certification page on the BSDCG website. Exam candidates should be proficient in the BSDA Certification Requirements and the Command Reference, both of which are available for free download from the BSDCG website.

Participants need to register for a BSDCG ID. Once you have an ID, you can choose an exam location and pay for the exam. The exam price is $75 USD and payable through Paypal or credit card. Back to top

Legal Notice:
Please note: (i) the Certification Testing is an event separate from vBSDcon hosted by FreeYourID, (ii) the BSD Certification Group is not affiliated with FreeYourID and (iii) any fees charged by BSD Certification Group are separate and apart from the conference fee.