From nobody Sun Apr 17 06:48:53 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 A771FDBB79A for ; Sun, 17 Apr 2022 06:49:04 +0000 (UTC) (envelope-from erik@nstr.no) Received: from pv50p00im-ztdg10011901.me.com (pv50p00im-ztdg10011901.me.com [17.58.6.50]) (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 did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Kh0z36hhsz3tXx for ; Sun, 17 Apr 2022 06:49:03 +0000 (UTC) (envelope-from erik@nstr.no) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nstr.no; s=sig1; t=1650178137; bh=Suy00/og7Voe6jL5yhoeeQeLiiGCbZNLvd8LQxicuzY=; h=Content-Type:From:Mime-Version:Date:Subject:Message-Id:To; b=SXUBRlpmGvq+NWaC4t31nChocU0FOtqsTaMlz8ey9lx+kQnzUr5eO2w1lZe9ist+c wfyIlDRT6UVM17KOp3v+4kt5dOkzGBsaWKyJsxRaPO8C5Xnu48tuH5/Gow2ZservbK i65b5Oi0BQNKf6SGA4rl7Afs9PjUbIwG+nClZYTl4erLFTC9gGKlgtc1KItYE54f+T 1GYrhF5wZqOXCrX+F9td8ZyS4+jz5+7hMtH0b9EYcCRlHgybhT0QJZurGxIGydQNTj O0YaehgQ02hn4BaiHpxMlBqvE+qmMW8CgJja3zRXfDjg5KBsupmuIY1MUDttScvJjT Al0ORJWo30a4Q== Received: from smtpclient.apple (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10011901.me.com (Postfix) with ESMTPSA id 679A43A0423 for ; Sun, 17 Apr 2022 06:48:56 +0000 (UTC) Content-Type: multipart/alternative; boundary=Apple-Mail-D65C886A-C1BA-4714-8115-1B8F4BD577A9 Content-Transfer-Encoding: 7bit From: Erik N 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 (1.0) Date: Sun, 17 Apr 2022 08:48:53 +0200 Subject: =?utf-8?Q?Anyone_have_a_copy_of_the_work_that_Joyent_did_on_Free?= =?utf-8?Q?BSD_=E2=80=9CVPC=E2=80=9D_software_defined_networking=3F?= Message-Id: <117D2715-7471-449A-988E-BE8A526D983B@nstr.no> To: freebsd-virtualization@freebsd.org X-Mailer: iPhone Mail (19D52) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-04-15_06:2022-04-15,2022-04-15 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1030 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2204170044 X-Rspamd-Queue-Id: 4Kh0z36hhsz3tXx X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; dkim=pass header.d=nstr.no header.s=sig1 header.b=SXUBRlpm; dmarc=none; spf=pass (mx1.freebsd.org: domain of erik@nstr.no designates 17.58.6.50 as permitted sender) smtp.mailfrom=erik@nstr.no X-Spamd-Result: default: False [1.90 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ip4:17.58.0.0/16]; TO_DN_NONE(0.00)[]; DKIM_TRACE(0.00)[nstr.no:+]; RECEIVED_SPAMHAUS_PBL(0.00)[17.56.9.10:received]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:714, ipnet:17.58.0.0/20, country:US]; SUBJECT_ENDS_QUESTION(1.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[17.58.6.50:from]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[nstr.no:s=sig1]; FREEFALL_USER(0.00)[erik]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-virtualization@freebsd.org]; DMARC_NA(0.00)[nstr.no]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_SPAM_SHORT(1.00)[1.000]; MLMMJ_DEST(0.00)[freebsd-virtualization]; RWL_MAILSPIKE_VERYGOOD(0.00)[17.58.6.50:from]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail-D65C886A-C1BA-4714-8115-1B8F4BD577A9 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I was watching this presentation from BSDCan 2018, by Sean Chittenden, title= d =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D. The video recording of said presentation is at https://youtu.be/La4ekkKbM5o a= nd slides are at https://papers.freebsd.org/2018/chittenden-freebsd_vpc.file= s/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, runni= ng across separate FreeBSD hosts. This, according to the presentation, comes= in the form of a suite of VXLAN-related network interfaces. =46rom two of the slides: vpc(4) Interfaces vpcsw(4) - switches packets - one packet per customer, multiple subnets supp= orted 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 ph= ysical ethernet interface vpclink(4) - Performs VXLAN encapsulation New System Calls vpc_open(2) - Creates a new VPC descriptor vpc_ctl(2) - Manipulates VPC desc= riptors Capsicum-like, intended for privilege separation Intended for idempo= tent tooling Makes aggressive use of UUIDs as operator handles to be compatible with Trit= on At the very end of the presentation slides are links to for kernel code and k= ernel library code on GitHub: https://github.com/joyent/freebsd/tree/projects/VPC https://github.com/joyent/freebsd/tree/projects/VPC/libexec/go/src/go.freebs= d.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, a= rchived repository https://github.com/joyent/freebsd-vpc that only has code f= or a utility that would interact with the code from the aforementioned now g= one repository. Erik N.= --Apple-Mail-D65C886A-C1BA-4714-8115-1B8F4BD577A9 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable I was watching this presentation from BSDCa= n 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 a= nd slides are at https://papers.freebsd.= org/2018/chittenden-freebsd_vpc.files/chittenden-freebsd_vpc-slides.pdf<= /div>

The presentation details enhancements to FreeBSD, t= o allow efficient private networking between bhyve guests as well as jails o= n overlay networks, running across separate FreeBSD hosts. This, according t= o the presentation, comes in the form of a suite of VXLAN-related network in= terfaces.

=46rom two of the slides:

<= /div>
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 gues= ts
vpcp(4) - plugs vmnic(4) ports into vpcsw(4) switches vpci(4) -= Non-bhyve(4) interface, usable in jails(2)
ethlink(4) - Performs u= nencapsulated packet forwarding, wraps a cloned or physical ethernet interfa= ce
vpclink(4) - Performs VXLAN encapsulation

<= /div>
New System Calls
vpc_open(2) - Creates a new VPC de= scriptor vpc_ctl(2) - Manipulates VPC descriptors Capsicum-like, intended fo= r privilege separation Intended for idempotent tooling
Makes aggre= ssive use of UUIDs as operator handles to be compatible with Triton

At the very end of the presentation slides are links t= o 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/g= o.freebsd.org/sys/vpc

Unfortunately, the whol= e repository on GitHub is gone. 404. And I couldn=E2=80=99t find any forks o= f it either.

Does anyone have a copy of the VPC bra= nch that Joyent had in that repository?

All that se= ems to be left of the project on Joyent's GitHub is a separate, archived rep= ository https://githu= b.com/joyent/freebsd-vpc that only has code for a utility that woul= d interact with the code from the aforementioned now gone repository.
<= div>
Erik N.
= --Apple-Mail-D65C886A-C1BA-4714-8115-1B8F4BD577A9--