Andrea Barisani

@andreabarisani.bsky.social

hacker | tamagopher | https://andrea.bio

The recent addition of a Google Compute Engine Virtual Ethernet (gVNIC) driver in TamaGo now allows networked GCP Confidential VMs. A small, reproducible, memory-safe unikernel, yet allowing use of the entire Go ecosystem, all measured at launch as a single binary.

Bild

We performed an extensive comparison of Linux vs. TamaGo network performance under a VM. TamaGo+gVisor outperforms Linux (native or gVisor) by a ratio range of 50% - 500% (depending on packet size and core count). Test envs are simpler than prod, but I think this is promising.

Bild

TamaGo unikernels can now seamlessly switch between gVisor and lneto network stacks! Thanks Patricio Whittingslow for lneto and its go-net integration. When I started TamaGo I was worried that getting a pure Go TCP/IP stack would be hard, now we have 2 choices! github.com/usbarmory/go...

GitHub - usbarmory/go-net: Bare metal Go TCP/IP connectivity

Bare metal Go TCP/IP connectivity. Contribute to usbarmory/go-net development by creating an account on GitHub.

github.com

Space Fabric: A Satellite-Enhanced Trusted Execution Architecture "The satellite’s TEE is implemented using ARM TrustZone, with GoTEE as the Trusted OS running in Secure World" GoTEE has been to orbit twice already, time for a stable orbit? arxiv.org/abs/2603.23745

Space Fabric: A Satellite-Enhanced Trusted Execution Architecture

The emergence of decentralized satellite networks creates a pressing need for trust architectures that operate without physical access to hardware, without pre-provisioned vendor secrets, and without ...

arxiv.org

First TamaGo unikernel with working SMP under UEFI + AMD SEV-SNP. This enables multiprocessor pure GO confidential unikernels! I will expose SMP initialization APIs from both UEFI (StartupAllAPs) and SEV-SNP (GHCB Create AP).

Bild

I added IRQ and SMP support for TamaGo amd64 unikernels booted directly under UEFI! IRQs also work under UEFI + SEV-SNP, though SMP needs more work under Confidential VMs (because APs startup is different). What a fascinating journey to learn so many gory bits and details.

... also now: Tailscale running on UEFI on AWS EC2. No kernel. No OS. (Tamago) Had to port AWS ENA drivers to Go (from FreeBSD, DPDK, Amazon spec) Also fun: it's using UEFI variables as its ipn.StateStore, so you can reboot the instance and it's still logged in. This was a PITA even with AI.

Bildstack trace showing ENA (Nitro network driver) goroutines alongside Tailscale tsnet ones

TamaGo allows not only build reproducibility but also *execution reproducibility*. Our bare metal Go runtime API allows for deterministic interaction with VMs. With support for tiny RISCV64 targets this allows full deterministic execution of Go zero-knowledge proof (ZKP) apps.

BildBild