Date: Sun, 17 Apr 2022 19:55:28 +0200 From: erik@nstr.no To: Mark Peek <mp@freebsd.org> Cc: freebsd-virtualization@freebsd.org, "Philip M. Gollucci" <pgollucci@p6m7g8.com>, Mark Peek <mp@freebsd.org> Subject: =?utf-8?Q?Re=3A_Anyone_have_a_copy_of_the_work_that_Joyent_did_on?= =?utf-8?Q?_FreeBSD_=E2=80=9CVPC=E2=80=9D_software_defined_networking=3F?= Message-ID: <5E1FDCD3-8406-460D-ACC3-C727E7BB9E53@nstr.no> In-Reply-To: <CAGGgMJcTqw%2B56epsNJNV8E%2B=Zo_11GqRriOvLDp717NefG5U%2Bg@mail.gmail.com> References: <CAGGgMJfNa12PbfMSomx5RMYbTcHqg7McQhQ4bESw1BSzVk3qTQ@mail.gmail.com> <C0A15723-7600-4F1D-B381-392A7C61B0C1@nstr.no> <CAGGgMJcTqw%2B56epsNJNV8E%2B=Zo_11GqRriOvLDp717NefG5U%2Bg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_171BE1C9-2914-4867-98C3-237379371987 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 That=E2=80=99s the one! Awesome! Thank you very much Mark! Erik > On 17 Apr 2022, at 19:30, Mark Peek <mp@freebsd.org> wrote: >=20 > Erik, > Sorry about that, teach me to respond from my phone. >=20 > How about this for the FreeBSD related code? > https://github.com/sean-/freebsd <https://github.com/sean-/freebsd> >=20 > which has a default branch of projects/VPC? >=20 > Mark >=20 > On Sun, Apr 17, 2022 at 9:10 AM Erik N <erik@nstr.no = <mailto:erik@nstr.no>> wrote: > Thank you Mark but as mentioned that=E2=80=99s not it. >=20 > Erik >=20 >> On 17 Apr 2022, at 16:58, Mark Peek <mp@freebsd.org = <mailto:mp@freebsd.org>> wrote: >>=20 >> =EF=BB=BF >> Perhaps this? >> https://github.com/joyent/freebsd-vpc = <https://github.com/joyent/freebsd-vpc> >>=20 >> Mark >>=20 >> On Sun, Apr 17, 2022 at 6:03 AM Philip M. Gollucci = <pgollucci@p6m7g8.com <mailto:pgollucci@p6m7g8.com>> wrote: >> I may be able to get ahold of Brian Cantrill. He's likely the best = PoC too. >>=20 >> On Sun, Apr 17, 2022 at 2:49 AM Erik N <erik@nstr.no = <mailto:erik@nstr.no>> wrote: >> I was watching this presentation from BSDCan 2018, by Sean = Chittenden, titled =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D. >>=20 >> The video recording of said presentation is at = https://youtu.be/La4ekkKbM5o <https://youtu.be/La4ekkKbM5o> and slides = are at = https://papers.freebsd.org/2018/chittenden-freebsd_vpc.files/chittenden-fr= eebsd_vpc-slides.pdf = <https://papers.freebsd.org/2018/chittenden-freebsd_vpc.files/chittenden-f= reebsd_vpc-slides.pdf> >>=20 >> 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. >>=20 >> =46rom two of the slides: >>=20 >> 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 >>=20 >> 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 >>=20 >> At the very end of the presentation slides are links to for kernel = code and kernel library code on GitHub: >>=20 >> https://github.com/joyent/freebsd/tree/projects/VPC = <https://github.com/joyent/freebsd/tree/projects/VPC> >>=20 >> = https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src/go.free= bsd.org/sys/vpc = <https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src/go.fre= ebsd.org/sys/vpc> >>=20 >> Unfortunately, the whole repository on GitHub is gone. 404. And I = couldn=E2=80=99t find any forks of it either. >>=20 >> Does anyone have a copy of the VPC branch that Joyent had in that = repository? >>=20 >> All that seems to be left of the project on Joyent's GitHub is a = separate, archived repository https://github.com/joyent/freebsd-vpc = <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. >>=20 >> Erik N. >>=20 >>=20 >> --=20 >> Philip M. Gollucci >> IT Executive and Engineering Leader >> http://www.linkedin.com/in/pgollucci/ = <http://www.linkedin.com/in/pgollucci/> >> 301.818.0719 >>=20 >> 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. >>=20 --Apple-Mail=_171BE1C9-2914-4867-98C3-237379371987 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" = class=3D"">That=E2=80=99s the one! Awesome! Thank you very much = Mark!<div class=3D""><div class=3D""><br class=3D""></div><div = class=3D"">Erik<br class=3D""><div><br class=3D""><blockquote = type=3D"cite" class=3D""><div class=3D"">On 17 Apr 2022, at 19:30, Mark = Peek <<a href=3D"mailto:mp@freebsd.org" = class=3D"">mp@freebsd.org</a>> wrote:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" = class=3D"">Erik,<div class=3D"">Sorry about that, teach me to respond = from my phone.</div><div class=3D""><br class=3D""></div><div = class=3D"">How about this for the FreeBSD related code?</div><div = class=3D""><a href=3D"https://github.com/sean-/freebsd" = class=3D"">https://github.com/sean-/freebsd</a><br class=3D""></div><div = class=3D""><br class=3D""></div><div class=3D"">which has a default = branch of projects/VPC?</div><div class=3D""><br class=3D""></div><div = class=3D"">Mark</div></div><br class=3D""><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" class=3D"">erik@nstr.no</a>> = wrote:<br class=3D""></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" class=3D"">Thank = you Mark but as mentioned that=E2=80=99s not it.<br class=3D""><br = class=3D""><div dir=3D"ltr" class=3D"">Erik</div><div dir=3D"ltr" = class=3D""><br class=3D""><blockquote type=3D"cite" class=3D"">On 17 Apr = 2022, at 16:58, Mark Peek <<a href=3D"mailto:mp@freebsd.org" = target=3D"_blank" class=3D"">mp@freebsd.org</a>> wrote:<br = class=3D""><br class=3D""></blockquote></div><blockquote type=3D"cite" = class=3D""><div dir=3D"ltr" class=3D"">=EF=BB=BF<div dir=3D"ltr" = class=3D"">Perhaps this?<br class=3D""><a = href=3D"https://github.com/joyent/freebsd-vpc" target=3D"_blank" = class=3D"">https://github.com/joyent/freebsd-vpc</a><br class=3D""><div = class=3D""><br class=3D""></div><div class=3D"">Mark</div></div><br = class=3D""><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:pgollucci@p6m7g8.com" target=3D"_blank" = class=3D"">pgollucci@p6m7g8.com</a>> wrote:<br = class=3D""></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"ltr" class=3D""><div = class=3D"gmail_default" style=3D"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 class=3D""><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 href=3D"mailto:erik@nstr.no" = target=3D"_blank" class=3D"">erik@nstr.no</a>> wrote:<br = class=3D""></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" class=3D"">I was = watching this presentation from BSDCan 2018, by Sean Chittenden, titled = =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D.<div class=3D""><br = class=3D""></div><div class=3D"">The video recording of said = presentation is at <a href=3D"https://youtu.be/La4ekkKbM5o" = target=3D"_blank" class=3D"">https://youtu.be/La4ekkKbM5o</a> and = slides are at <a = href=3D"https://papers.freebsd.org/2018/chittenden-freebsd_vpc.files/chitt= enden-freebsd_vpc-slides.pdf" target=3D"_blank" = class=3D"">https://papers.freebsd.org/2018/chittenden-freebsd_vpc.files/ch= ittenden-freebsd_vpc-slides.pdf</a></div><div class=3D""><br = class=3D""></div><div class=3D"">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 class=3D""><br = class=3D""></div><div class=3D"">=46rom two of the slides:</div><div = class=3D""><br class=3D""></div><div class=3D""><div class=3D"">vpc(4) = Interfaces</div><div class=3D"">vpcsw(4) - switches packets - one packet = per customer, multiple subnets supported in the same switch</div><div = class=3D"">vmnic(4) - dedicated guest NIC, looks like a virtio network = device to guests</div><div class=3D"">vpcp(4) - plugs vmnic(4) ports = into vpcsw(4) switches vpci(4) - Non-bhyve(4) interface, usable in = jails(2)</div><div class=3D"">ethlink(4) - Performs unencapsulated = packet forwarding, wraps a cloned or physical ethernet = interface</div><div class=3D"">vpclink(4) - Performs VXLAN = encapsulation</div></div><div class=3D""><br class=3D""></div><div = class=3D""><div class=3D"">New System Calls</div><div = class=3D"">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 class=3D"">Makes = aggressive use of UUIDs as operator handles to be compatible with = Triton</div></div><div class=3D""><br class=3D""></div><div class=3D"">At = the very end of the presentation slides are links to for kernel code and = kernel library code on GitHub:</div><div class=3D""><br = class=3D""></div><div class=3D""><div class=3D""><a = href=3D"https://github.com/joyent/freebsd/tree/projects/VPC" = target=3D"_blank" = class=3D"">https://github.com/joyent/freebsd/tree/projects/VPC</a></div><d= iv class=3D""><br class=3D""></div><div class=3D""><a = href=3D"https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src= /go.freebsd.org/sys/vpc" target=3D"_blank" = class=3D"">https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/= src/go.freebsd.org/sys/vpc</a></div></div><div class=3D""><br = class=3D""></div><div class=3D"">Unfortunately, the whole repository on = GitHub is gone. 404. And I couldn=E2=80=99t find any forks of it = either.</div><div class=3D""><br class=3D""></div><div class=3D"">Does = anyone have a copy of the VPC branch that Joyent had in that = repository?</div><div class=3D""><br class=3D""></div><div class=3D"">All = that seems to be left of the project on Joyent's GitHub is a separate, = archived repository <a href=3D"https://github.com/joyent/freebsd-vpc"= target=3D"_blank" = class=3D"">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 class=3D""><br = class=3D""><div dir=3D"ltr" class=3D"">Erik = N.</div></div></div></blockquote></div><br clear=3D"all" class=3D""><div = class=3D""><br class=3D""></div>-- <br class=3D""><div dir=3D"ltr" = class=3D""><div dir=3D"ltr" class=3D""><div class=3D""><div dir=3D"ltr" = class=3D""><div dir=3D"ltr" class=3D""><div dir=3D"ltr" class=3D""><div = class=3D""><font face=3D"verdana, sans-serif" class=3D"">Philip M. = Gollucci</font></div><div class=3D""><font face=3D"verdana, sans-serif" = class=3D"">IT Executive and Engineering Leader<br = class=3D""></font></div><div class=3D""><span style=3D"" class=3D""><font = face=3D"verdana, sans-serif" class=3D""><a = href=3D"http://www.linkedin.com/in/pgollucci/" target=3D"_blank" = class=3D"">http://www.linkedin.com/in/pgollucci/</a></font></span></div><d= iv class=3D""><span style=3D"" class=3D"">301.818.0719</span></div><div = class=3D""><span style=3D"" class=3D""><br class=3D""></span></div><div = class=3D""><span style=3D"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;" = class=3D"">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=3D"" class=3D""><br = class=3D""></span></div><div class=3D""><br = class=3D""></div></div></div></div></div></div></div> </blockquote></div> </div></blockquote></div></blockquote></div> </div></blockquote></div><br class=3D""></div></div></body></html>= --Apple-Mail=_171BE1C9-2914-4867-98C3-237379371987--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5E1FDCD3-8406-460D-ACC3-C727E7BB9E53>