# Install vde with Homebrew, apt

Ethernet compliant virtual network. Version 2.3.3 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:vde
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vde
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install vde-switch
```

  Evidence: Debian stable package indexes: vde-switch from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

## Package facts

- **Package key:** brew:vde
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/vde>
- **Version:** 2.3.3
- **Source summary:** Ethernet compliant virtual network
- **Homepage:** <https://github.com/virtualsquare/vde-2>
- **Repository:** <https://github.com/virtualsquare/vde-2>
- **Upstream docs:** <https://github.com/virtualsquare/vde-2#readme>
- **License:** GPL-2.0-or-later AND LGPL-2.1-or-later
- **Source archive:** <https://github.com/virtualsquare/vde-2/archive/refs/tags/v2.3.3.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- dpipe (cli)
- unixcmd (cli)
- vde_autolink (cli)
- vde_over_ns (cli)
- vde_pcapplug (cli)
- vde_plug (cli)
- vde_plug2tap (cli)
- vde_router (cli)
- vde_switch (cli)
- vdecmd (cli)
- vdeterm (cli)
- wirefilter (cli)
- dpipe (alias)
- unixcmd (alias)
- vde_autolink (alias)
- vde_over_ns (alias)
- vde_pcapplug (alias)
- vde_plug (alias)
- vde_plug2tap (alias)
- vde_router (alias)
- vde_switch (alias)
- vdecmd (alias)
- vdeterm (alias)
- wirefilter (alias)

## Build dependencies

- autoconf
- automake
- libtool

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.3.3
- Local data: ok
- Upstream repository: https://github.com/virtualsquare/vde-2
- Upstream latest detected: v2.3.3 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

VDE, Virtual Distributed Ethernet, is a suite for building Ethernet-like virtual networks out of software switches, plugs, cables, tunnels, and TAP connections. It belongs to the VirtualSquare research-and-tooling tradition around virtual machines, emulators, and distributed network labs.

The package is old-school virtualization infrastructure: it predates today's container-networking defaults and gives users explicit virtual switches and virtual cables that can connect QEMU, User Mode Linux, Bochs, MPS machines, real Linux hosts, and remote switches.

### Project history

The vde-2 README credits Renzo Davoli for VDEv2 work from 2003 through 2006 and notes that it was based long ago on uml-router work by Yon Uriarte and Jeff Dike from 2002. A 2005 TridentCom paper by Davoli describes VDE as an Ethernet-compliant, distributed, software virtual network intended to connect emulators, virtual machines, real operating systems, and other tools.

The historical hosting path also shows its age. SourceForge records VDE as a Virtual Distributed Ethernet project and states that the project moved to GitHub at virtualsquare/vde-2, with new issues and patches directed there. The current GitHub repository was created on 2016-02-22, preserving the vde-2 codebase under the VirtualSquare organization.

### Adoption history

VDE's adoption was strongest in virtualization and network-emulation niches. The manpage documents end nodes including real Linux boxes through TUN/TAP, Bochs, QEMU, and MPS virtual machines; Oracle's VirtualBox manual describes VDE networking as an optional source-code feature and credits Renzo Davoli at the University of Bologna.

The 2005 paper framed VDE as a general virtual networking layer rather than a single-emulator feature. That distinction is the adoption hook: users could build virtual Ethernet topologies across different hosts and virtualization systems instead of accepting the networking model bundled with one emulator.

### How it is used

A typical VDE setup runs vde_switch, connects local or remote endpoints with vde_plug/vde cables, and optionally attaches a host TAP interface. The vde_switch manpage describes management through console or a Unix-socket terminal, support for VLAN-like behavior, Fast Spanning Tree work, and daemon mode.

VDE is used for heterogeneous VM labs, tunnels, mobility experiments, and overlay networks where Ethernet frames should move through a user-controlled virtual topology. The README emphasizes that units connected to VDE see each other as if they were on a real Ethernet.

### Why package nerds care

VDE is significant because it exposes virtual networking as composable Unix tools rather than a hidden hypervisor setting. For package users building labs, that means repeatable topologies made of processes and sockets: switches, plugs, TAPs, packet captures, and filters.

It is also a good example of research software that became distribution software. The same package can be read as a 2000s virtualization artifact, a QEMU-era networking tool, and a still-useful way to build small Layer 2 experiments without deploying a larger SDN stack.

### Timeline

- 2002: The vde-2 README credits earlier uml-router work by Yon Uriarte and Jeff Dike.
- 2003-2006: The vde-2 README credits Renzo Davoli's VDEv2 work across these years.
- 2005: Davoli's Virtual Distributed Ethernet paper described VDE as Ethernet-compliant, distributed, and useful for virtual machines and real systems.
- 2016-02-22: The virtualsquare/vde-2 GitHub repository was created.
- 2022-05-02: GitHub release v2.3.3 was published.

### Related projects

- VDE is related to QEMU, User Mode Linux, Bochs, MPS, VirtualBox VDE networking, TUN/TAP tooling, and later virtual-switch systems such as Open vSwitch. In the VirtualSquare family, vdeplug4 is a later related project that rethinks VDE plug connections.

### Sources

- <https://api.github.com/repos/virtualsquare/vde-2>
- <https://api.github.com/repos/virtualsquare/vde-2/releases>
- <https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/network_vde.html>
- <https://eudl.eu/doi/10.1109/tridnt.2005.38>
- <https://github.com/rd235/vdeplug4>
- <https://github.com/virtualsquare/vde-2>
- <https://man.archlinux.org/man/vde_switch.1.en>
- <https://sourceforge.net/projects/vde/>
- <https://www.cs.unibo.it/~renzo/papers/2005.tridentcom.pdf>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** vde
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - vde-switch - 2.3.2+r586-11: installed executable or alias match | Debian stable package indexes: vde-switch from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Virtual Distributed Ethernet. | http://vde.sourceforge.net
- Ubuntu apt - vde-switch - 2.3.2+r586-10: installed executable or alias match | Ubuntu 24.04 LTS package indexes: vde-switch from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Virtual Distributed Ethernet. | http://vde.sourceforge.net


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [libtool](https://www.automicvault.com/pkg/brew/libtool/) - Build dependency declared by Homebrew.
- [open-simh](https://www.automicvault.com/pkg/brew/open-simh/) - Popular package that depends on this formula.
- [qemu](https://www.automicvault.com/pkg/brew/qemu/) - Popular package that depends on this formula.
- [passt](https://www.automicvault.com/pkg/brew/passt/) - Shares av.db curated category or tags: cli, networking, virtualization.
- [socket_vmnet](https://www.automicvault.com/pkg/brew/socket-vmnet/) - Shares av.db curated category or tags: cli, networking, virtualization.
- [bittwist](https://www.automicvault.com/pkg/brew/bittwist/) - Shares av.db curated category or tags: cli, ethernet, networking.
- [activemq](https://www.automicvault.com/pkg/brew/activemq/) - Shares av.db curated category or tags: cli, networking.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, networking.
- [aerleon](https://www.automicvault.com/pkg/brew/aerleon/) - Shares av.db curated category or tags: cli, networking.
- [ahcpd](https://www.automicvault.com/pkg/brew/ahcpd/) - Shares av.db curated category or tags: cli, networking.
- [airshare](https://www.automicvault.com/pkg/brew/airshare/) - Shares av.db curated category or tags: cli, networking.
- [dynamips](https://www.automicvault.com/pkg/brew/dynamips/) - Local package facts share a topical domain. Shared terms: cli, emulation, networking, router.
- [piknik](https://www.automicvault.com/pkg/brew/piknik/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, network, networking, over.

## Combined YAML source

View the package source record on GitHub. [combined/vde.yml](https://github.com/automic-vault/db/blob/main/combined/vde.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
