Anyone_have_a_copy_of_the_work_that_Joyent_did_on_Free BSD_“VPC”_software_defined_networking?

From: Erik N <erik_at_nstr.no>
Date: Sun, 17 Apr 2022 06:48:53 UTC
I was watching this presentation from BSDCan 2018, by Sean Chittenden, titled “Introducing FreeBSD VPC”.

The video recording of said presentation is at https://youtu.be/La4ekkKbM5o and slides are at https://papers.freebsd.org/2018/chittenden-freebsd_vpc.files/chittenden-freebsd_vpc-slides.pdf

The presentation details enhancements to FreeBSD, to allow efficient private networking between bhyve guests as well as jails on overlay networks, running across separate FreeBSD hosts. This, according to the presentation, comes in the form of a suite of VXLAN-related network interfaces.

From two of the slides:

vpc(4) Interfaces
vpcsw(4) - switches packets - one packet per customer, multiple subnets supported in the same switch
vmnic(4) - dedicated guest NIC, looks like a virtio network device to guests
vpcp(4) - plugs vmnic(4) ports into vpcsw(4) switches vpci(4) - Non-bhyve(4) interface, usable in jails(2)
ethlink(4) - Performs unencapsulated packet forwarding, wraps a cloned or physical ethernet interface
vpclink(4) - Performs VXLAN encapsulation

New System Calls
vpc_open(2) - Creates a new VPC descriptor vpc_ctl(2) - Manipulates VPC descriptors Capsicum-like, intended for privilege separation Intended for idempotent tooling
Makes aggressive use of UUIDs as operator handles to be compatible with Triton

At the very end of the presentation slides are links to for kernel code and kernel library code on GitHub:

https://github.com/joyent/freebsd/tree/projects/VPC

https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src/go.freebsd.org/sys/vpc

Unfortunately, the whole repository on GitHub is gone. 404. And I couldn’t find any forks of it either.

Does anyone have a copy of the VPC branch that Joyent had in that repository?

All that seems to be left of the project on Joyent's GitHub is a separate, archived repository https://github.com/joyent/freebsd-vpc that only has code for a utility that would interact with the code from the aforementioned now gone repository.

Erik N.