From nobody Sun Apr 17 14:58:18 2022 X-Original-To: freebsd-virtualization@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 611C911CAC8F for ; Sun, 17 Apr 2022 14:58:30 +0000 (UTC) (envelope-from mp@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KhCqp2Bx7z3nbQ for ; Sun, 17 Apr 2022 14:58:30 +0000 (UTC) (envelope-from mp@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650207510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=x8qk2c3O1VfWGW2YlwpYFKlcYs7NWKQWXirRGjwZjGU=; b=OYrO9dZQ+WD5HoXxHFBOfxpNvoJDy1V4soa0jnRZMlRPmERcU/biN7bJAZKOaqu0kNU6H3 yTnKAXydzbjvgU8d2FjryTT3zPFe3s4nEp5rTX8DkHzcJiCyeBR+tIxjhtfCinCd+MBDce ZRjpY+YpzH/Gjh1USxFIAtcgggHEUx3liIviqRgyNElsBAD7fV9PmeHRiL/FU42ENQXdwq zOJNiIRsGjmb4BnZ/GZ5JHGqXEQwYzO92jrPdJV3AHvXKnnsqRIC+/zKIrSGzFK/SK4MJp jxK8p0WfV3uTJS/7yl4StRStJ3kblnzFWxllLNCC51AVtKp4mqF6iEoXp1qWMg== Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: mp) by smtp.freebsd.org (Postfix) with ESMTPSA id 240A420791 for ; Sun, 17 Apr 2022 14:58:30 +0000 (UTC) (envelope-from mp@freebsd.org) Received: by mail-wr1-f42.google.com with SMTP id m14so16017741wrb.6 for ; Sun, 17 Apr 2022 07:58:30 -0700 (PDT) X-Gm-Message-State: AOAM531LnuGrK8FhDWbq7UTYtYmDO1AM8s7DcvQq1uKC9DbqLPUtYi/s fQc7BMISsS/PGXOoWdw9kMTCbF5xs1LfaQR6tFuShA== X-Google-Smtp-Source: ABdhPJxA2ugHqGi1mldjtgMPUW4Fssn1WJBOM/aZP95MWv+9kGv+OiauKim1o1oNUUgo4Dj92AwQBDuUeestuct4HRg= X-Received: by 2002:a05:6000:186c:b0:20a:806e:ad8a with SMTP id d12-20020a056000186c00b0020a806ead8amr5765688wri.207.1650207508977; Sun, 17 Apr 2022 07:58:28 -0700 (PDT) List-Id: Discussion List-Archive: https://lists.freebsd.org/archives/freebsd-virtualization List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-virtualization@freebsd.org X-BeenThere: freebsd-virtualization@freebsd.org MIME-Version: 1.0 References: <117D2715-7471-449A-988E-BE8A526D983B@nstr.no> In-Reply-To: From: Mark Peek Date: Sun, 17 Apr 2022 07:58:18 -0700 X-Gmail-Original-Message-ID: Message-ID: 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?= To: "Philip M. Gollucci" Cc: Erik N , freebsd-virtualization@freebsd.org Content-Type: multipart/alternative; boundary="00000000000060f07c05dcdae061" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650207510; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=x8qk2c3O1VfWGW2YlwpYFKlcYs7NWKQWXirRGjwZjGU=; b=I8OyDylqNd39We6s/OPSNbjs/SJSaidppbJTVkna/dyndDCXVFG7PL4OgkIazmsUKEbhZA 1gdVfE+q1c7iJ8ERR53DfOVbug0/CxCAJNumTFli23z8xLKUa+ZkuNp6S/SlQco/hVJb4X 95YmA/VtM1sMHoVUiN8iFhtAiUOZR/uUkSQ0WtaaTintNhFsy7bbwiZ6H/YBUa6kwhcxB5 8frOL9wBg9oLZENQp/dyejgtPBJxd7tE48VWOxOLgts7/XBG93qKCdcL2WXpXfLTORMkpx bLFjNjuYspSRG9Q7086t/5CracSd2WJQigxpOtBTD59577RKIZswBaMsi2fC+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1650207510; a=rsa-sha256; cv=none; b=SJgidOtoC9qmblx9FM1iHlPGiNFBV/Utzd9snmKDX4ovrgtzKiL5azYvHy+u4NrIGIHBy2 lP1lLVzklqIzXmPa3aUvsQuSH/xOJyvdRokqP/rq/aK0wGjIxIT4ffV4tKMIG/hrRz/Eku K7ZyeGJkA1n952CrPUMgsijlen0YnUm+JSPXqQ2+5733THMkc+OuiWbuS4Me+DNvcbQAPy ZBpExB8IrCdKgiY/hmlugHTqjmz5g5hyZn1PVy4oNI7S7nRsTtFtrXWVP57GhmuvN7p2A3 Pnabq/oqgVxAuKCxHvXNnJsY7VxV7jY8nb9sQ8bLxiK+Ros+O7dOFlZjGRciNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N --00000000000060f07c05dcdae061 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Perhaps this? https://github.com/joyent/freebsd-vpc Mark On Sun, Apr 17, 2022 at 6:03 AM Philip M. Gollucci 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 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 o= r >> 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 fo= r >> 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.fr= eebsd.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 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 abilit= y > 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. > > --00000000000060f07c05dcdae061 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sun, Apr 17, 2022 at 6:03 AM Philip M. Gollucci <pgollucci@p6m7g8.com> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l= eft:1px solid rgb(204,204,204);padding-left:1ex">
I may be able to get ahold of Brian Cantrill.=C2=A0 He's likely the= best PoC too.

On Sun, Apr 17, 2022 at 2:49 AM Erik N <erik@nstr.no> wrote:
=
I was w= atching this presentation from BSDCan 2018, by Sean Chittenden, titled =E2= =80=9CIntroducing FreeBSD VPC=E2=80=9D.

The video record= ing of said presentation is at=C2=A0https://youtu.be/La4ekkKbM5o=C2=A0and slides are at= =C2=A0https://papers.free= bsd.org/2018/chittenden-freebsd_vpc.files/chittenden-freebsd_vpc-slides.pdf=

The presentation details enhancements to Free= BSD, to allow efficient private networking between bhyve guests as well as = jails on overlay networks, running across separate FreeBSD hosts. This, acc= ording to the presentation, comes in the form of a suite of VXLAN-related n= etwork interfaces.

From two of the slides:

vpc(4) Interfaces
vpcsw(4) - switches pack= ets - one packet per customer, multiple subnets supported in the same switc= h
vmnic(4) - dedicated guest NIC, looks like a virtio network dev= ice to guests
vpcp(4) - plugs vmnic(4) ports into vpcsw(4) switch= es vpci(4) - Non-bhyve(4) interface, usable in jails(2)
ethlink(4= ) - Performs unencapsulated packet forwarding, wraps a cloned or physical e= thernet interface
vpclink(4) - Performs VXLAN encapsulation
=

New System Calls
vpc_open(2) - Cre= ates 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 presentat= ion slides are links to for kernel code and kernel library code on GitHub:<= /div>


Unfortunatel= y, 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 o= f the VPC branch that Joyent had in that repository?

All that seems to be left of the project on Joyent's GitHub is a sep= arate, archived repository=C2=A0https://github.com/joyent/freebsd-vpc=C2=A0tha= t only has code for a utility that would interact with the code from the af= orementioned now gone repository.

Erik N.


--
<= div dir=3D"ltr">
Philip M. Gollucci
IT Executive and Engineer= ing Leader
http://www.linkedin.com/in/pgollucci/
301.818.0719

TRULY HUMAN N= OTICE:=C2=A0=C2=A0Getting this email out of normal working hours? We work a= t a digitally-enabled relentless pace, which can disrupt our ability to sle= ep 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 expec= t you to respond to it when convenient to you.

--00000000000060f07c05dcdae061--