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
--000000000000330abc05dcdd00f6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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=E2=80=99s not it. > > Erik > > On 17 Apr 2022, at 16:58, Mark Peek <mp@freebsd.org> wrote: > > =EF=BB=BF > 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 =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D. >>> >>> 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 f= or >>> 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.f= reebsd.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, archived repository https://github.com/joyent/freebsd-vpc tha= t >>> 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 abili= ty >> to sleep enough, eat right, exercise, and spend time with the people tha= t >> 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. >> >> --000000000000330abc05dcdd00f6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Erik,<div>Sorry about that, teach me to respond from my ph= one.</div><div><br></div><div>How about this for the FreeBSD=C2=A0related c= ode?</div><div><a href=3D"https://github.com/sean-/freebsd">https://github.= com/sean-/freebsd</a><br></div><div><br></div><div>which has a default bran= ch of projects/VPC?</div><div><br></div><div>Mark</div></div><br><div class= =3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sun, Apr 17, 2022= at 9:10 AM Erik N <<a href=3D"mailto:erik@nstr.no">erik@nstr.no</a>>= wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px = 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir= =3D"auto">Thank you Mark but as mentioned that=E2=80=99s not it.<br><br><di= v dir=3D"ltr">Erik</div><div dir=3D"ltr"><br><blockquote type=3D"cite">On 1= 7 Apr 2022, at 16:58, Mark Peek <<a href=3D"mailto:mp@freebsd.org" targe= t=3D"_blank">mp@freebsd.org</a>> wrote:<br><br></blockquote></div><block= quote type=3D"cite"><div dir=3D"ltr">=EF=BB=BF<div dir=3D"ltr">Perhaps this= ?<br><a href=3D"https://github.com/joyent/freebsd-vpc" target=3D"_blank">ht= tps://github.com/joyent/freebsd-vpc</a><br><div><br></div><div>Mark</div></= div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On= Sun, Apr 17, 2022 at 6:03 AM Philip M. Gollucci <<a href=3D"mailto:pgol= lucci@p6m7g8.com" target=3D"_blank">pgollucci@p6m7g8.com</a>> wrote:<br>= </div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b= order-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><d= iv class=3D"gmail_default" style=3D"font-family:"comic sans ms",s= ans-serif">I may be able to get ahold of Brian Cantrill.=C2=A0 He's lik= ely the best PoC too.</div></div><br><div class=3D"gmail_quote"><div dir=3D= "ltr" class=3D"gmail_attr">On Sun, Apr 17, 2022 at 2:49 AM Erik N <<a hr= ef=3D"mailto:erik@nstr.no" target=3D"_blank">erik@nstr.no</a>> wrote:<br= ></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;= border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"auto">= I was watching this presentation from BSDCan 2018, by Sean Chittenden, titl= ed =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D.<div><br></div><div>The video = recording of said presentation is at=C2=A0<a href=3D"https://youtu.be/La4ek= kKbM5o" target=3D"_blank">https://youtu.be/La4ekkKbM5o</a>=C2=A0and slides = are at=C2=A0<a href=3D"https://papers.freebsd.org/2018/chittenden-freebsd_v= pc.files/chittenden-freebsd_vpc-slides.pdf" target=3D"_blank">https://paper= s.freebsd.org/2018/chittenden-freebsd_vpc.files/chittenden-freebsd_vpc-slid= es.pdf</a></div><div><br></div><div>The presentation details enhancements t= o FreeBSD, to allow efficient private networking between bhyve guests as we= ll as jails on overlay networks, running across separate FreeBSD hosts. Thi= s, according to the presentation, comes in the form of a suite of VXLAN-rel= ated 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) - switche= s packets - one packet per customer, multiple subnets supported in the same= switch</div><div>vmnic(4) - dedicated guest NIC, looks like a virtio netwo= rk 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>eth= link(4) - Performs unencapsulated packet forwarding, wraps a cloned or phys= ical 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 Ca= psicum-like, intended for privilege separation Intended for idempotent tool= ing</div><div>Makes aggressive use of UUIDs as operator handles to be compa= tible with Triton</div></div><div><br></div><div>At the very end of the pre= sentation slides are links to for kernel code and kernel library code on Gi= tHub:</div><div><br></div><div><div><a href=3D"https://github.com/joyent/fr= eebsd/tree/projects/VPC" target=3D"_blank">https://github.com/joyent/freebs= d/tree/projects/VPC</a></div><div><br></div><div><a href=3D"https://github.= com/joyent/freebsd/tree/projects/VPC/libexec/go/src/go.freebsd.org/sys/vpc"= target=3D"_blank">https://github.com/joyent/freebsd/tree/projects/VPC/libe= xec/go/src/go.freebsd.org/sys/vpc</a></div></div><div><br></div><div>Unfort= unately, the whole repository on GitHub is gone. 404. And I couldn=E2=80=99= 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=C2=A0<a href=3D"https://github.com/joyent/= freebsd-vpc" target=3D"_blank">https://github.com/joyent/freebsd-vpc</a>=C2= =A0that only has code for a utility that would interact with the code from = the aforementioned now gone repository.</div><div><br><div dir=3D"ltr">Erik= N.</div></div></div></blockquote></div><br clear=3D"all"><div><br></div>--= <br><div dir=3D"ltr"><div dir=3D"ltr"><div><div dir=3D"ltr"><div dir=3D"lt= r"><div dir=3D"ltr"><div><font face=3D"verdana, sans-serif">Philip M. Gollu= cci</font></div><div><font face=3D"verdana, sans-serif">IT Executive and En= gineering Leader<br></font></div><div><span style=3D"color:rgb(0,0,0)"><fon= t face=3D"verdana, sans-serif"><a href=3D"http://www.linkedin.com/in/pgollu= cci/" target=3D"_blank">http://www.linkedin.com/in/pgollucci/</a></font></s= pan></div><div><span style=3D"color:rgb(0,0,0)">301.818.0719</span></div><d= iv><span style=3D"color:rgb(0,0,0)"><br></span></div><div><span style=3D"co= lor:rgba(0,0,0,0.6);font-family:-apple-system,system-ui,system-ui,"Seg= oe UI",Roboto,"Helvetica Neue","Fira Sans",Ubuntu,= Oxygen,"Oxygen Sans",Cantarell,"Droid Sans","Apple= Color Emoji","Segoe UI Emoji","Segoe UI Symbol",&= quot;Lucida Grande",Helvetica,Arial,sans-serif;font-size:14px">TRULY H= UMAN NOTICE:=C2=A0=C2=A0Getting 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 m= atter 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=3D"c= olor:rgb(0,0,0)"><br></span></div><div><br></div></div></div></div></div></= div></div> </blockquote></div> </div></blockquote></div></blockquote></div> --000000000000330abc05dcdd00f6--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGGgMJcTqw%2B56epsNJNV8E%2B=Zo_11GqRriOvLDp717NefG5U%2Bg>