Re:_Anyone_have_a_copy_of_the_work_that_Joyent_did_o n_FreeBSD_“VPC”_software_defined_networking?

From: Mark Peek <mp_at_freebsd.org>
Date: Sun, 17 Apr 2022 17:30:21 UTC
Erik,
Sorry about that, teach me to respond from my phone.

How about this for the FreeBSD related code?
https://github.com/sean-/freebsd

which has a default branch of projects/VPC?

Mark

On Sun, Apr 17, 2022 at 9:10 AM Erik N <erik@nstr.no> wrote:

> Thank you Mark but as mentioned that’s not it.
>
> Erik
>
> On 17 Apr 2022, at 16:58, Mark Peek <mp@freebsd.org> wrote:
>
> 
> Perhaps this?
> https://github.com/joyent/freebsd-vpc
>
> Mark
>
> On Sun, Apr 17, 2022 at 6:03 AM Philip M. Gollucci <pgollucci@p6m7g8.com>
> wrote:
>
>> I may be able to get ahold of Brian Cantrill.  He's likely the best PoC
>> too.
>>
>> On Sun, Apr 17, 2022 at 2:49 AM Erik N <erik@nstr.no> wrote:
>>
>>> 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.
>>>
>>
>>
>> --
>> Philip M. Gollucci
>> IT Executive and Engineering Leader
>> http://www.linkedin.com/in/pgollucci/
>> 301.818.0719
>>
>> TRULY HUMAN NOTICE:  Getting this email out of normal working hours? We
>> work at a digitally-enabled relentless pace, which can disrupt our ability
>> to sleep enough, eat right, exercise, and spend time with the people that
>> matter most. I am sending you this email at a time that works for me. I
>> only expect you to respond to it when convenient to you.
>>
>>