Get VLANVerify · v0.1.1

Download & install

VLANVerify is an MVP: source and releases live on GitHub; this site hosts no binaries, and there is no packaged PyPI release yet. It requires Python 3.10+ everywhere, and Linux (developed and tested on Raspberry Pi OS / Debian) for a live scan, since that needs ip (iproute2), a DHCP client (dhclient or dhcpcd) and SO_BINDTODEVICE. --dry-run mode works on any OS with Python 3.10+, no root and no real network interface required.

1. pip, straight from GitHub (quickest)

Installs the vlanverify package and its CLI launcher without cloning the repository yourself. Pin a tag rather than floating on main if you want a stable copy.

python3 -m venv ~/.venvs/vlanverify
~/.venvs/vlanverify/bin/pip install git+https://github.com/rosscooney/vlanverify.git

# pin a specific tagged release instead of the latest commit on main:
~/.venvs/vlanverify/bin/pip install \
    git+https://github.com/rosscooney/[email protected]

Live scanning needs raw interface control, so scan typically runs under sudo. A pip install --user or venv install puts vlanverify somewhere sudo's reset PATH may not see; run it with the venv's full path if so:

sudo ~/.venvs/vlanverify/bin/vlanverify scan --policy policy.yaml \
    --interface eth0 --output report.html

2. From a checkout (development, or to read the source first)

git clone https://github.com/rosscooney/vlanverify && cd vlanverify
python3 -m venv .venv && . .venv/bin/activate
pip install -e .

# with the dev extra, for the test suite:
pip install -e ".[dev]"
pytest

The test suite runs entirely against the dry-run/mock backends (see Security & trust), so it needs no root privileges, no Linux, and no real network.

Verify your install

vlanverify --help
vlanverify validate --policy policies/example.yaml

policies/example.yaml, included in the repository, is a three-VLAN (corp/guest/iot) policy you can read as a starting point for your own; see the policy file schema.

Before you rely on a report

Run VLANVerify on a Linux device connected to a trunk port carrying every VLAN you want to test, as root or with CAP_NET_ADMIN at minimum (creating VLAN sub-interfaces requires it). A scan is a point-in-time snapshot: re-run it after any change to switch, firewall or VLAN configuration rather than relying on an older report.

Upgrading

There is no auto-update mechanism; VLANVerify makes no automatic network calls of its own. Re-install from a newer tag or from main:

pip install --upgrade --force-reinstall \
    git+https://github.com/rosscooney/vlanverify.git

The changelog and the GitHub releases call out any change to the policy schema, verdict logic or CLI flags.