From nobody Sun Apr 17 17:30:21 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 4374C5D3703 for ; Sun, 17 Apr 2022 17:30:34 +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 4KhHCG1KPwz4f6v for ; Sun, 17 Apr 2022 17:30:34 +0000 (UTC) (envelope-from mp@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650216634; 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=/AMDgsO/m8Y/+5XhS5BvdxV9MDLffiVDVemYu3i35RY=; b=nO38PYawjx9FAtUuTmolwftaLfhKBJBe5rDB6b75b9Vq3Cj6j6In/kSE3jyw9w316sorP+ mR5aE2MiAU5WK6M4qtoOhY2t+ij69AIY0Eh4SuNu+2qAm5b2KY/feYRybMeCdCkA+2dcF0 ZZldE94GEkHDh9r+/XT5aCTS1L/81y1Jr+h+yFxCMeQA4ZuJ2y7sQYWynXTQ/okVbyOMJD BWdFMVWnCBPGKilT8kB3HoWT2Nps1ZkGPLIX6NTxZf6rjtSResu3XWKXF3iKbxBoeToCEC zriZoi1PPeRc12UVlbI0c8ie5I/oHpqzcLEfJhMYLwC9sGL3kNIk/YejKG7gEg== Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 01A9F211E8 for ; Sun, 17 Apr 2022 17:30:34 +0000 (UTC) (envelope-from mp@freebsd.org) Received: by mail-wm1-f52.google.com with SMTP id n40-20020a05600c3ba800b0038ff1939b16so6511836wms.2 for ; Sun, 17 Apr 2022 10:30:33 -0700 (PDT) X-Gm-Message-State: AOAM532qK8IPNerSaO/tJevO9xwhOoG2l0vGuVa1NFK0/4A6xVx8iZuc 8X0gANWwp4hgbTdhxRI81vg+DiIZf3TyVIAacLTyww== X-Google-Smtp-Source: ABdhPJwxu3JbrfL+o9JFxVsLv7FvDM+g0WEkTxEcPjtIjErTMK6RGQGlsYriS9xTuNXphrakTRbU1QdM7RLE5bF5Tm4= X-Received: by 2002:a05:600c:3d87:b0:38f:eb0c:fc54 with SMTP id bi7-20020a05600c3d8700b0038feb0cfc54mr12125147wmb.55.1650216632775; Sun, 17 Apr 2022 10:30:32 -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: In-Reply-To: From: Mark Peek Date: Sun, 17 Apr 2022 10:30:21 -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: Erik N Cc: Mark Peek , freebsd-virtualization@freebsd.org Content-Type: multipart/alternative; boundary="000000000000330abc05dcdd00f6" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650216634; 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=/AMDgsO/m8Y/+5XhS5BvdxV9MDLffiVDVemYu3i35RY=; b=VAuFiQzTOR1RxsdGgC4MLTYxgE0DpVRiNHkYTjKbGKsHVUJdEYCn8CcNnFCIE2m2apSZrt 7Dq41oc9Nf1ODSQb7PGPr1KcbnJl6srn5AmLPr9DdDya8nDbrbjuRV1GUMOMbV6ZYsUvdf Ig3XZjDhUNrPqMYmR6imTihdH++fTFJul2SIuI4QFTfP4ywjzMo4LOIf8ES125P0rMgE4u 41GOUxDOAt4DLmbmvy7WmWWzKVFfyBO/Sr4GCGDhOplH6qblcHALZn9oEu26pv5BGtp9bo MTdtzWzmtHIlYaQHVIlDylSTmuELXjxFD6iJz8k/IH+zT4zkw+tjxMLQZablTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1650216634; a=rsa-sha256; cv=none; b=ithu3/lfbietlwEQsNQ97nXf9lkli7JjfZGG4Q5AXXl7raJcuwajYOKefkN7Z+jYFEpkbq dZeMdk2hXrsUYaiuTHsFU7nzteHYOsXurxzbmlJkfvOdUBtBjb6/v86rd+hXwKGM6kLuDp RJBURrCIJN30grF64WOLN8LwH3EUWS43tFYGasIJKGWaC2sK1mOXgrG3zCdMWHGTB9XQN7 jZbGGmTGUjW2zzvzyf6Ax6wIhS1UdHLl1jxOTX/37CdgFpqSEwlpYU9TSPEVDwH9CoFvyO etvvOVypAZ0MPR3vv/nMOAzjtZuchfPeR0D2URALRedVlV6CU5TWMA8ui+6HiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N --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 wrote: > Thank you Mark but as mentioned that=E2=80=99s not it. > > Erik > > On 17 Apr 2022, at 16:58, Mark Peek 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 > 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 >>> 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
Erik,
Sorry about that, teach me to respond from my ph= one.

How about this for the FreeBSD=C2=A0related c= ode?

which has a default bran= ch 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 1= 7 Apr 2022, at 16:58, Mark Peek <mp@freebsd.org> wrote:

=EF=BB=BF
Perhaps this= ?
ht= tps://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.=C2=A0 He's lik= ely 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, titl= ed =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D.

The video = recording of said presentation is at=C2=A0https://youtu.be/La4ekkKbM5o=C2=A0and slides = are at=C2=A0https://paper= s.freebsd.org/2018/chittenden-freebsd_vpc.files/chittenden-freebsd_vpc-slid= es.pdf

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.

From two of the slides:

vpc(4) Interfaces
vpcsw(4) - switche= s packets - one packet per customer, multiple subnets supported in the same= switch
vmnic(4) - dedicated guest NIC, looks like a virtio netwo= rk device to guests
vpcp(4) - plugs vmnic(4) ports into vpcsw(4) = switches vpci(4) - Non-bhyve(4) interface, usable in jails(2)
eth= link(4) - Performs unencapsulated packet forwarding, wraps a cloned or phys= ical ethernet interface
vpclink(4) - Performs VXLAN encapsulation=

New System Calls
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
Makes aggressive use of UUIDs as operator handles to be compa= tible with Triton

At the very end of the pre= sentation slides are links to for kernel code and kernel library code on Gi= tHub:


Unfort= unately, the whole repository on GitHub is gone. 404. And I couldn=E2=80=99= 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=C2=A0https://github.com/joyent/freebsd-vpc=C2= =A0that only has code for a utility that would interact with the code from = the aforementioned now gone repository.

Erik= N.


--=
Philip M. Gollu= cci
IT Executive and En= gineering Leader
301.818.0719

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.

--000000000000330abc05dcdd00f6--