We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Introducing FreeBSD VPC

Formal Metadata

Title
Introducing FreeBSD VPC
Subtitle
Introduction to Virtual Private Cloud
Alternative Title
Virtualized Networking for Cloud Computing in FreeBSD
Title of Series
Number of Parts
45
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
FreeBSD’s use in virtualization workloads has been hampered by its lack of Virtual Private Cloud (“VPC”) functionality. While the bhyve(4) hypervisor has proven to be robust and performant Hardware Virtual Machine (“HVM”), it has lacked the necessary companion networking stack in order to be used as a first-class hypervisor for cloud computing workloads. The FreeBSD vpc(4) subsystem was designed to augment the capabilities of bhyve(4) in order to support the demands of cloud workloads. FreeBSD’s use in virtualization workloads has been hampered by its lack of Virtual Private Cloud (“VPC”) functionality. While the bhyve(4) hypervisor has proven to be robust and performant Hardware Virtual Machine (“HVM”), it has lacked the necessary companion networking stack in order to be used as a first-class hypervisor for cloud computing workloads. The FreeBSD vpc(4) subsystem was designed to augment the capabilities of bhyve(4) in order to support the demands of cloud workloads. After experimentation and extending with the existing network interfaces (e.g. bridge(4), tap(4), ptnetmap(9)), it became clear that it would be necessary to implement a new networking subsystem custom built for virtualization workloadschange course. We settled on implementing vpc(4) by extending the iflib(9) framework, a generalized NIC interface in the FreeBSD kernel. Using iflib(9) we created a suite of network services that allow FreeBSD to be used as a performant and flexible hypervisor for cloud workloads. Depending on the configuration and policies, it is also possible to use vpc(4) for desktop applications, too. We outline the intial performance achieved, both with ptnetmap(9) and iflib(9), the list of services in vpc(4), and how to deploy a cloud environment.