From nobody Sun Apr 17 16:11:36 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 E154C11D8FFB for ; Sun, 17 Apr 2022 16:11:40 +0000 (UTC) (envelope-from erik@nstr.no) Received: from pv50p00im-ztdg10011301.me.com (pv50p00im-ztdg10011301.me.com [17.58.6.40]) (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 4KhFSD33Tzz4RVK for ; Sun, 17 Apr 2022 16:11:40 +0000 (UTC) (envelope-from erik@nstr.no) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nstr.no; s=sig1; t=1650211899; bh=zcgli5H+cv90ATGLQ4AUN+VABRJzqtFcWWnrixRTlMM=; h=Content-Type:From:Mime-Version:Subject:Date:Message-Id:To; b=XIa29P96MLwzw9YrxOyCOuNFitqZ9cmyUFvaP/VYailSgeUbTI+jUgaeBisGN/1fM kANcxodUfwBOqEMs+ikc9yq3h+YKlcaB1eNkXOLkjJGEvgjG8sjAFDaEwY8OeBLIkh 4b64oiofkqhT5OvGxcDK1FpqCMv4jQJyLv55YPVvHYeHsQbad9UJvxkOA83PkV/1OU Qkax1G1fNPbjCJI2iiMInCIrX8RurjDJivZu56iSlqifnA6vxq4unZ8lqBeRKrnaMb GfqDkjREpBxTTWNHFhndp1eZXYimqysAd7SLHjWK8cT2Cssq8R8tqYX8FrC68YLEgq B4zfn2bHtBiDg== Received: from smtpclient.apple (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10011301.me.com (Postfix) with ESMTPSA id 7F7A41802F8; Sun, 17 Apr 2022 16:11:38 +0000 (UTC) Content-Type: multipart/alternative; boundary=Apple-Mail-E70296CC-93F0-453A-AABC-E679B4BDF953 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) Subject: =?utf-8?Q?Re:_Anyone_have_a_copy_of_the_work_that_Joyent_did_on_?= =?utf-8?Q?FreeBSD_=E2=80=9CVPC=E2=80=9D_software_defined_network?= =?utf-8?Q?ing=3F?= Date: Sun, 17 Apr 2022 18:11:36 +0200 Message-Id: <15F3C677-BE67-4CE3-8828-8CC7F4CE6CFF@nstr.no> References: Cc: freebsd-virtualization@freebsd.org In-Reply-To: To: "Philip M. Gollucci" X-Mailer: iPhone Mail (19D52) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-04-16_09:2022-04-15,2022-04-16 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-2204170111 X-Rspamd-Queue-Id: 4KhFSD33Tzz4RVK X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; dkim=pass header.d=nstr.no header.s=sig1 header.b=XIa29P96; dmarc=none; spf=pass (mx1.freebsd.org: domain of erik@nstr.no designates 17.58.6.40 as permitted sender) smtp.mailfrom=erik@nstr.no X-Spamd-Result: default: False [1.89 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:17.58.0.0/16:c]; MV_CASE(0.50)[]; DKIM_TRACE(0.00)[nstr.no:+]; RCPT_COUNT_TWO(0.00)[2]; 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]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[17.58.6.40:from]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[nstr.no:s=sig1]; FREEFALL_USER(0.00)[erik]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.99)[0.991]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[nstr.no]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; SUBJECT_ENDS_QUESTION(1.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MLMMJ_DEST(0.00)[freebsd-virtualization]; RWL_MAILSPIKE_VERYGOOD(0.00)[17.58.6.40:from]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail-E70296CC-93F0-453A-AABC-E679B4BDF953 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thank you Philip, that would be great! Erik > On 17 Apr 2022, at 15:03, Philip M. Gollucci wrote:= >=20 > =EF=BB=BF > I may be able to get ahold of Brian Cantrill. He's likely the best PoC to= o. >=20 >> On Sun, Apr 17, 2022 at 2:49 AM Erik N wrote: >> I was watching this presentation from BSDCan 2018, by Sean Chittenden, ti= tled =E2=80=9CIntroducing FreeBSD VPC=E2=80=9D. >>=20 >> The video recording of said presentation is at https://youtu.be/La4ekkKbM= 5o and slides are at https://papers.freebsd.org/2018/chittenden-freebsd_vpc.= files/chittenden-freebsd_vpc-slides.pdf >>=20 >> The presentation details enhancements to FreeBSD, to allow efficient priv= ate networking between bhyve guests as well as jails on overlay networks, ru= nning across separate FreeBSD hosts. This, according to the presentation, co= mes 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 s= upported in the same switch >> vmnic(4) - dedicated guest NIC, looks like a virtio network device to gue= sts >> 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 d= escriptors Capsicum-like, intended for privilege separation Intended for ide= mpotent tooling >> Makes aggressive use of UUIDs as operator handles to be compatible with T= riton >>=20 >> At the very end of the presentation slides are links to for kernel code a= nd kernel library code on GitHub: >>=20 >> https://github.com/joyent/freebsd/tree/projects/VPC >>=20 >> 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 reposit= ory? >>=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 that only has co= de for a utility that would interact with the code from the aforementioned n= ow gone repository. >>=20 >> Erik N. >=20 >=20 > --=20 > Philip M. Gollucci > IT Executive and Engineering Leader > http://www.linkedin.com/in/pgollucci/ > 301.818.0719 >=20 > TRULY HUMAN NOTICE: Getting this email out of normal working hours? We wo= rk at a digitally-enabled relentless pace, which can disrupt our ability to s= leep 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. >=20 --Apple-Mail-E70296CC-93F0-453A-AABC-E679B4BDF953 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thank you Philip, that would be great!
<= br>
Erik

On 17 Apr 2022, at 15:03, Philip M. Gollucci <pgollucci@p6m7g8.com> w= rote:

=EF= =BB=BF
I may be able to get ahold of Brian Cantrill.  H= e's likely the best PoC too.

On Sun, Apr 17, 2022 at 2:49 AM Erik N <<= a href=3D"mailto:erik@nstr.no">erik@nstr.no> wrote:
I was watching thi= s presentation from BSDCan 2018, by Sean Chittenden, titled =E2=80=9CIntrodu= cing FreeBSD VPC=E2=80=9D.


=
The presentation details enhancements to FreeBSD, to allow effici= ent private networking between bhyve guests as well as jails on overlay netw= orks, running across separate FreeBSD hosts. This, according to the presenta= tion, 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 cu= stomer, multiple subnets supported in the same switch
vmnic(4) - d= edicated guest NIC, looks like a virtio network device to guests
v= pcp(4) - plugs vmnic(4) ports into vpcsw(4) switches vpci(4) - Non-bhyve(4) i= nterface, usable in jails(2)
ethlink(4) - Performs unencapsulated p= acket forwarding, wraps a cloned or physical ethernet interface
vp= clink(4) - Performs VXLAN encapsulation

= New System Calls
vpc_open(2) - Creates a new VPC descriptor vpc_ct= l(2) - Manipulates VPC descriptors Capsicum-like, intended for privilege sep= aration Intended for idempotent tooling
Makes aggressive use of UU= IDs as operator handles to be compatible with Triton

At the very end of the presentation slides are links to for kernel c= ode and kernel library code on GitHub:


Unfortunately, the whole repository on GitHub is gone. 4= 04. 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 repos= itory?

All that seems to be left of the project on J= oyent's GitHub is a separate, archived repository https://github.com/joyent/fre= ebsd-vpc that only has code for a utility that would interact with t= he code from the aforementioned now gone repository.

Erik N.

--
Philip M. Gollucci
IT Executive and Engineering Leader
= 301.818.0719

TRULY HUMAN NOTICE:  Getting this email out of norma= l working hours? We work at a digitally-enabled relentless pace, which can d= isrupt 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 wor= ks for me. I only expect you to respond to it when convenient to you.=

= --Apple-Mail-E70296CC-93F0-453A-AABC-E679B4BDF953--