Date: Sun, 17 Apr 2022 10:30:21 -0700 From: Mark Peek <mp@freebsd.org> To: Erik N <erik@nstr.no> Cc: Mark Peek <mp@freebsd.org>, freebsd-virtualization@freebsd.org Subject: =?UTF-8?Q?Re=3A_Anyone_have_a_copy_of_the_work_that_Joyent_did_o?= =?UTF-8?Q?n_FreeBSD_=E2=80=9CVPC=E2=80=9D_software_defined_networking=3F?= Message-ID: <CAGGgMJcTqw%2B56epsNJNV8E%2B=Zo_11GqRriOvLDp717NefG5U%2Bg@mail.gmail.com> In-Reply-To: <C0A15723-7600-4F1D-B381-392A7C61B0C1@nstr.no> References: <CAGGgMJfNa12PbfMSomx5RMYbTcHqg7McQhQ4bESw1BSzVk3qTQ@mail.gmail.com> <C0A15723-7600-4F1D-B381-392A7C61B0C1@nstr.no>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] 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. >> >> [-- Attachment #2 --] <div dir="ltr">Erik,<div>Sorry about that, teach me to respond from my phone.</div><div><br></div><div>How about this for the FreeBSD related code?</div><div><a href="https://github.com/sean-/freebsd">https://github.com/sean-/freebsd</a><br></div><div><br></div><div>which has a default branch of projects/VPC?</div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 17, 2022 at 9:10 AM Erik N <<a href="mailto:erik@nstr.no">erik@nstr.no</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Thank you Mark but as mentioned that’s not it.<br><br><div dir="ltr">Erik</div><div dir="ltr"><br><blockquote type="cite">On 17 Apr 2022, at 16:58, Mark Peek <<a href="mailto:mp@freebsd.org" target="_blank">mp@freebsd.org</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr">Perhaps this?<br><a href="https://github.com/joyent/freebsd-vpc" target="_blank">https://github.com/joyent/freebsd-vpc</a><br><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 17, 2022 at 6:03 AM Philip M. Gollucci <<a href="mailto:pgollucci@p6m7g8.com" target="_blank">pgollucci@p6m7g8.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:"comic sans ms",sans-serif">I may be able to get ahold of Brian Cantrill. He's likely the best PoC too.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 17, 2022 at 2:49 AM Erik N <<a href="mailto:erik@nstr.no" target="_blank">erik@nstr.no</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">I was watching this presentation from BSDCan 2018, by Sean Chittenden, titled “Introducing FreeBSD VPC”.<div><br></div><div>The video recording of said presentation is at <a href="https://youtu.be/La4ekkKbM5o" target="_blank">https://youtu.be/La4ekkKbM5o</a> and slides are at <a href="https://papers.freebsd.org/2018/chittenden-freebsd_vpc.files/chittenden-freebsd_vpc-slides.pdf" target="_blank">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, 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.</div><div><br></div><div>From 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><div>vmnic(4) - dedicated guest NIC, looks like a virtio network device to guests</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 unencapsulated packet forwarding, wraps a cloned or physical ethernet interface</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 descriptor vpc_ctl(2) - Manipulates VPC descriptors Capsicum-like, intended for privilege separation Intended for idempotent tooling</div><div>Makes aggressive use of UUIDs as operator handles to be compatible with Triton</div></div><div><br></div><div>At the very end of the presentation slides are links to for kernel code and kernel library code on GitHub:</div><div><br></div><div><div><a href="https://github.com/joyent/freebsd/tree/projects/VPC" target="_blank">https://github.com/joyent/freebsd/tree/projects/VPC</a></div><div><br></div><div><a href="https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src/go.freebsd.org/sys/vpc" target="_blank">https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src/go.freebsd.org/sys/vpc</a></div></div><div><br></div><div>Unfortunately, the whole repository on GitHub is gone. 404. And I couldn’t find any forks of it either.</div><div><br></div><div>Does anyone have a copy of the VPC branch that Joyent had in that repository?</div><div><br></div><div>All that seems to be left of the project on Joyent's GitHub is a separate, archived repository <a href="https://github.com/joyent/freebsd-vpc" target="_blank">https://github.com/joyent/freebsd-vpc</a> that only has code for a utility that would interact with the code from the aforementioned now gone repository.</div><div><br><div dir="ltr">Erik N.</div></div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><font face="verdana, sans-serif">Philip M. Gollucci</font></div><div><font face="verdana, sans-serif">IT Executive and Engineering Leader<br></font></div><div><span style="color:rgb(0,0,0)"><font face="verdana, sans-serif"><a href="http://www.linkedin.com/in/pgollucci/" target="_blank">http://www.linkedin.com/in/pgollucci/</a></font></span></div><div><span style="color:rgb(0,0,0)">301.818.0719</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgba(0,0,0,0.6);font-family:-apple-system,system-ui,system-ui,"Segoe UI",Roboto,"Helvetica Neue","Fira Sans",Ubuntu,Oxygen,"Oxygen Sans",Cantarell,"Droid Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Lucida Grande",Helvetica,Arial,sans-serif;font-size:14px">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.</span><span style="color:rgb(0,0,0)"><br></span></div><div><br></div></div></div></div></div></div></div> </blockquote></div> </div></blockquote></div></blockquote></div>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGGgMJcTqw%2B56epsNJNV8E%2B=Zo_11GqRriOvLDp717NefG5U%2Bg>
