Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Apr 2022 08:48:53 +0200
From:      Erik N <erik@nstr.no>
To:        freebsd-virtualization@freebsd.org
Subject:   =?utf-8?Q?Anyone_have_a_copy_of_the_work_that_Joyent_did_on_Free?= =?utf-8?Q?BSD_=E2=80=9CVPC=E2=80=9D_software_defined_networking=3F?=
Message-ID:  <117D2715-7471-449A-988E-BE8A526D983B@nstr.no>

next in thread | raw e-mail | index | archive | help

--Apple-Mail-D65C886A-C1BA-4714-8115-1B8F4BD577A9
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

I was watching this presentation from BSDCan 2018, by Sean Chittenden, title=
d =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D.

The video recording of said presentation is at https://youtu.be/La4ekkKbM5o a=
nd slides are at https://papers.freebsd.org/2018/chittenden-freebsd_vpc.file=
s/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, runni=
ng across separate FreeBSD hosts. This, according to the presentation, comes=
 in the form of a suite of VXLAN-related network interfaces.

=46rom two of the slides:

vpc(4) Interfaces
vpcsw(4) - switches packets - one packet per customer, multiple subnets supp=
orted 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 ph=
ysical ethernet interface
vpclink(4) - Performs VXLAN encapsulation

New System Calls
vpc_open(2) - Creates a new VPC descriptor vpc_ctl(2) - Manipulates VPC desc=
riptors Capsicum-like, intended for privilege separation Intended for idempo=
tent tooling
Makes aggressive use of UUIDs as operator handles to be compatible with Trit=
on

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

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

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

Unfortunately, the whole repository on GitHub is gone. 404. And I couldn=E2=80=
=99t 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, a=
rchived repository https://github.com/joyent/freebsd-vpc that only has code f=
or a utility that would interact with the code from the aforementioned now g=
one repository.

Erik N.=

--Apple-Mail-D65C886A-C1BA-4714-8115-1B8F4BD577A9
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto">I was watching this presentation from BSDCa=
n 2018, by Sean Chittenden, titled =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D=
.<div><br></div><div>The video recording of said presentation is at&nbsp;<a h=
ref=3D"https://youtu.be/La4ekkKbM5o">https://youtu.be/La4ekkKbM5o</a>&nbsp;a=
nd slides are at&nbsp;<a href=3D"https://papers.freebsd.org/2018/chittenden-=
freebsd_vpc.files/chittenden-freebsd_vpc-slides.pdf">https://papers.freebsd.=
org/2018/chittenden-freebsd_vpc.files/chittenden-freebsd_vpc-slides.pdf</a><=
/div><div><br></div><div>The presentation details enhancements to FreeBSD, t=
o allow efficient private networking between bhyve guests as well as jails o=
n overlay networks, running across separate FreeBSD hosts. This, according t=
o the presentation, comes in the form of a suite of VXLAN-related network in=
terfaces.</div><div><br></div><div>=46rom two of the slides:</div><div><br><=
/div><div><div>vpc(4) Interfaces</div><div>vpcsw(4) - switches packets - one=
 packet per customer, multiple subnets supported in the same switch</div><di=
v>vmnic(4) - dedicated guest NIC, looks like a virtio network device to gues=
ts</div><div>vpcp(4) - plugs vmnic(4) ports into vpcsw(4) switches vpci(4) -=
 Non-bhyve(4) interface, usable in jails(2)</div><div>ethlink(4) - Performs u=
nencapsulated packet forwarding, wraps a cloned or physical ethernet interfa=
ce</div><div>vpclink(4) - Performs VXLAN encapsulation</div></div><div><br><=
/div><div><div>New System Calls</div><div>vpc_open(2) - Creates a new VPC de=
scriptor vpc_ctl(2) - Manipulates VPC descriptors Capsicum-like, intended fo=
r privilege separation Intended for idempotent tooling</div><div>Makes aggre=
ssive use of UUIDs as operator handles to be compatible with Triton</div></d=
iv><div><br></div><div>At the very end of the presentation slides are links t=
o for kernel code and kernel library code on GitHub:</div><div><br></div><di=
v><div>https://github.com/joyent/freebsd/tree/projects/VPC</div><div><br></d=
iv><div>https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src/g=
o.freebsd.org/sys/vpc</div></div><div><br></div><div>Unfortunately, the whol=
e repository on GitHub is gone. 404. And I couldn=E2=80=99t find any forks o=
f it either.</div><div><br></div><div>Does anyone have a copy of the VPC bra=
nch that Joyent had in that repository?</div><div><br></div><div>All that se=
ems to be left of the project on Joyent's GitHub is a separate, archived rep=
ository&nbsp;<a href=3D"https://github.com/joyent/freebsd-vpc">https://githu=
b.com/joyent/freebsd-vpc</a>&nbsp;that only has code for a utility that woul=
d interact with the code from the aforementioned now gone repository.</div><=
div><br><div dir=3D"ltr">Erik N.</div></div></body></html>=

--Apple-Mail-D65C886A-C1BA-4714-8115-1B8F4BD577A9--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?117D2715-7471-449A-988E-BE8A526D983B>