CLI Reference
May 15, 2026 · View on GitHub
CLI Reference
All commands support --json for machine-readable output.
Table of Contents
| Command | Description | Spec Section |
|---|---|---|
ipv8lab addr | IPv8 address operations | 3, 4, 6 |
ipv8lab packet | Packet build / parse / dump | 5.1 |
ipv8lab route | Routing simulation | 8.7, 8.8 |
ipv8lab zone | Zone Server management | 1.3, 1.4 |
ipv8lab multizone | Multi-zone simulation | — |
ipv8lab bgp8 | BGP8 path selection with CF | 8.4 |
ipv8lab xlate8 | XLATE8 north-south traffic flow | 1.4 |
ipv8lab xlate8lb | XLATE8 Even/Odd Load Balancing | 15.1 |
ipv8lab pcap | PCAP export for Wireshark | — |
ipv8lab frag | Packet fragmentation / reassembly | 5.1 |
ipv8lab traceroute | Traceroute8 diagnostic | — |
ipv8lab nat8 | NAT8 address translation | — |
ipv8lab netflow8 | NetFlow8 flow monitoring | — |
ipv8lab qos | QoS / traffic shaping | — |
ipv8lab cf | CF performance dashboard | 1.6 |
ipv8lab fuzz | Packet fuzzer | — |
ipv8lab mtls | mTLS encryption layer | — |
ipv8lab docker | Docker multi-node testbed | — |
ipv8lab tui | TUI dashboard | — |
ipv8lab bench | Performance benchmarks | — |
ipv8lab capture | Packet capture / replay | — |
ipv8lab dashboard | Web UI dashboard | — |
ipv8lab udp | UDP transport experiments | — |
ipv8lab usage | Address Usage Model table | 4.11 |
ipv8lab arp8 | ARP8 version selection | 2 |
ipv8lab interop | Inter-Company Interop | 4.6–4.7 |
ipv8lab ilink | Interior Link Convention | 4.10 |
ipv8lab socket | Socket API Compatibility | 6.2 |
ipv8lab cgnat | CGNAT Behaviour simulation | 15 |
ipv8lab vpc | Cloud Provider VPC mapping | 17 |
ipv8lab rineprot | RINE Prefix Protection | 19.3 |
ipv8lab ilinkprot | Interior Link Protection | 19.4 |
ipv8lab prefixenf | /16 Minimum Prefix Enforcement | 19.7 |
ipv8lab whois8 | Standalone WHOIS8 protocol | whois8-00 |
ipv8lab netlog8proto | Standalone NetLog8 protocol | netlog8-00 |
addr
Parse, validate, and convert IPv8 addresses.
# Parse an address (ASN dot notation)
ipv8lab addr parse 64496.192.0.2.1
# Parse full 8-octet notation
ipv8lab addr parse 0.0.251.240.192.0.2.1
# Encode ASN to routing prefix
ipv8lab addr encode-asn 64496
# Decode prefix back to ASN
ipv8lab addr decode-prefix 0.0.251.240
# Classify address type
ipv8lab addr classify 64496.192.0.2.1
# Validate address
ipv8lab addr validate 64496.192.0.2.1
# JSON output
ipv8lab addr parse 64496.192.0.2.1 --json
packet
Build, parse, and inspect IPv8 packets.
# Build a packet
ipv8lab packet build --src 64496.192.0.2.1 --dst 64497.198.51.100.7 --payload "hello"
# Parse a packet from binary file
ipv8lab packet parse packet.bin
# Hex dump of a binary packet file
ipv8lab packet dump packet.bin
route
Two-tier routing simulation.
# Simulate routing with YAML config
ipv8lab route simulate --config examples/two_asn_demo.yaml
zone
Zone Server management: OAuth8, ACL8, VLAN, services.
# Initialize Zone Server
ipv8lab zone init --prefix 127.1.0.0
# Show status
ipv8lab zone status
# Add ACL rule
ipv8lab zone acl-add "*" gateway --action permit
# Validate VLAN
ipv8lab zone vlan-check 100
# List services
ipv8lab zone service-list
multizone
Multi-zone simulation with Zone Server pairs.
# Initialize multi-zone topology
ipv8lab multizone init
# Show topology status
ipv8lab multizone status
bgp8
BGP8 path selection with Cost Factor metric.
# Initialize BGP8 router
ipv8lab bgp8 init --asn 64496
# Advertise prefix (positional: PREFIX ORIGIN_ASN)
ipv8lab bgp8 advertise 64496.0.0.0.0/8 64496 --next-hop 0.0.251.241
# Show RIB
ipv8lab bgp8 rib
# Path selection (positional: PREFIX)
ipv8lab bgp8 select 64496.0.0.0.0/8
# Run demo
ipv8lab bgp8 demo --json
xlate8
XLATE8 north-south traffic flow.
# Initialize XLATE8 gateway
ipv8lab xlate8 init
# Egress flow: DNS8 → XLATE8 → translate
ipv8lab xlate8 demo --json
# Show translation table
ipv8lab xlate8 table
xlate8lb
XLATE8 Even/Odd Load Balancing per Section 15.1.
# Initialize load balancer
ipv8lab xlate8lb init
# Show balancing status
ipv8lab xlate8lb status --json
pcap
PCAP export for Wireshark integration.
# Generate demo PCAP file
ipv8lab pcap demo -o demo.pcap
# Inspect existing PCAP
ipv8lab pcap inspect demo.pcap
# Generate Wireshark Lua dissector
ipv8lab pcap dissector -o ipv8_dissector.lua
# Export .iv8cap to .pcap
ipv8lab pcap export trace.iv8cap trace.pcap
frag
IPv8 packet fragmentation and reassembly.
# Fragment a large payload (all options)
ipv8lab frag fragment --src 64496.10.0.1.1 --dst 64497.10.0.1.100 --size 256 --mtu 64
# Fragment & reassemble round-trip
ipv8lab frag reassemble --size 3000 --mtu 1500 --json
# Show fragmentation info
ipv8lab frag info --json
# Run demo
ipv8lab frag demo
traceroute
Traceroute8 diagnostic utility.
# Trace route (positional: SRC DST)
ipv8lab traceroute run 64496.10.0.0.1 64497.10.0.0.1 --hops 5
# Diamond topology demo
ipv8lab traceroute diamond --json
# Run all demo topologies
ipv8lab traceroute demo
nat8
NAT8 address translation gateway.
# Initialize NAT8 gateway
ipv8lab nat8 init --mode dynamic
# Add static mapping (positional: INTERNAL EXTERNAL)
ipv8lab nat8 add-static 10.0.0.1 64496.10.0.0.1
# Translate a packet
ipv8lab nat8 translate --src 10.0.0.1 --dst 64497.10.0.0.1
# Show mappings
ipv8lab nat8 mappings
# Status
ipv8lab nat8 status --json
# Run demo
ipv8lab nat8 demo
netflow8
NetFlow8 flow monitoring and telemetry.
# Start monitoring
ipv8lab netflow8 init
# Show top flows
ipv8lab netflow8 top
# Export flows
ipv8lab netflow8 export --all --json
# Export to .nf8 binary
ipv8lab netflow8 export -o flows.nf8
# Show protocols
ipv8lab netflow8 protocols
# Status
ipv8lab netflow8 status --json
# Run demo
ipv8lab netflow8 demo
qos
QoS traffic shaping based on TOS field.
# Initialize QoS engine
ipv8lab qos init
# Classify packet
ipv8lab qos classify --src 64496.10.0.0.1 --dst 64497.10.0.0.2 --tos 46
# Show queues
ipv8lab qos queues
# Status
ipv8lab qos status --json
# Run demo
ipv8lab qos demo
cf
CF (Cost Factor) performance dashboard.
# Run demo with 4 paths
ipv8lab cf demo --json
# Status
ipv8lab cf status --json
fuzz
Packet fuzzer for protocol security testing.
# Run fuzzer (1000 iterations)
ipv8lab fuzz run --count 1000
# All strategies
ipv8lab fuzz run --strategy combined --json
# List strategies
ipv8lab fuzz strategies
mtls
mTLS encryption layer for Zone Server authentication.
# Initialize CA
ipv8lab mtls init
# Issue device certificate
ipv8lab mtls issue my-device
# TLS handshake simulation
ipv8lab mtls handshake my-device
# Encrypt message (positional: DEVICE MESSAGE)
ipv8lab mtls encrypt my-device "secret payload"
docker
Docker-based multi-node testbed.
# Run demo testbed
ipv8lab docker demo --json
# Show status
ipv8lab docker status --json
tui
TUI dashboard powered by Rich Live / Textual.
# Launch TUI
ipv8lab tui run
# Demo data
ipv8lab tui demo --json
bench
Performance benchmarks.
# Run all benchmarks
ipv8lab bench run
# JSON output
ipv8lab bench run --json
capture
Packet capture and replay (.iv8cap format).
# Read packets from a capture file
ipv8lab capture read trace.iv8cap
# Show capture file info
ipv8lab capture info trace.iv8cap
dashboard
Web UI dashboard (dark theme, JSON API).
# Launch web dashboard
ipv8lab dashboard serve examples/two_asn_demo.yaml --port 8080
udp
UDP transport experiments.
# Run UDP transport demo
ipv8lab udp run --config examples/two_asn_demo.yaml
usage
Address Usage Model table per Section 4.11.
# Show full address space table
ipv8lab usage table
# JSON output
ipv8lab usage table --json
# Classify an address
ipv8lab usage classify 64496.192.0.2.1
arp8
ARP8-driven version selection per Section 2.
# Discover neighbour (positional: TARGET)
ipv8lab arp8 discover 64496.10.0.0.1
# Show version selection (positional: SRC DST)
ipv8lab arp8 select 64496.10.0.0.1 64497.10.0.0.2
# Show ARP8 cache
ipv8lab arp8 cache --json
# Status
ipv8lab arp8 status --json
interop
Inter-Company Interop and Two-XLATE8 model (Sections 4.6–4.7).
# Initialize interop
ipv8lab interop init
# Show interop status
ipv8lab interop status --json
# Run demo
ipv8lab interop demo --json
ilink
Interior Link Convention (222.0.0.0/8) per Section 4.10.
# Generate interior link /31 pairs
ipv8lab ilink generate 64496
# Validate address
ipv8lab ilink validate 64496.222.0.0.1
# Summary
ipv8lab ilink summary 64496 --json
socket
Socket API Compatibility mock (AF_INET8) per Section 6.2.
# Show AF_INET8 info
ipv8lab socket info --json
# Create sockaddr_in8 (positional: ADDRESS)
ipv8lab socket create 64496.10.0.0.1 --json
# Status
ipv8lab socket status --json
cgnat
CGNAT Behaviour simulation per Section 15.
# Initialize CGNAT
ipv8lab cgnat init
# Translate (positional: ADDRESS)
ipv8lab cgnat translate 64496.10.0.0.1
# Validate translation preserved r.r.r.r (positional: ORIGINAL TRANSLATED)
ipv8lab cgnat validate 64496.10.0.0.1 64496.10.0.0.1
# Show bindings
ipv8lab cgnat bindings
# Status
ipv8lab cgnat status --json
vpc
Cloud Provider VPC simulation per Section 17.
# Initialize VPC
ipv8lab vpc init --asn 64496
# Show VPC list
ipv8lab vpc list --json
# Status
ipv8lab vpc status --json
rineprot
RINE Prefix Protection per Section 19.3.
# Initialize RINE protection
ipv8lab rineprot init
# Check BGP8 advertisement (positional: PREFIX)
ipv8lab rineprot bgp8 64496.100.0.0.1
# Check packet (positional: ADDRESS)
ipv8lab rineprot check 64496.100.0.0.1
# Show alerts
ipv8lab rineprot alerts --json
# Status
ipv8lab rineprot status --json
ilinkprot
Interior Link Convention Protection per Section 19.4.
# Initialize filter
ipv8lab ilinkprot init
# Check BGP8 advertisement (positional: PREFIX)
ipv8lab ilinkprot bgp8 64496.222.0.0.1
# Check egress packet (positional: ADDRESS)
ipv8lab ilinkprot packet 64496.222.0.0.1
# Show traps
ipv8lab ilinkprot traps --json
# Status
ipv8lab ilinkprot status --json
prefixenf
/16 Minimum Prefix Enforcement at eBGP8 boundaries per Section 19.7.
# Initialize enforcer
ipv8lab prefixenf init
# Check advertisement (positional: PREFIX LENGTH)
ipv8lab prefixenf check 64496.10.1.0.0 24 --peer-asn 64497
# Show alerts
ipv8lab prefixenf alerts --json
# Status
ipv8lab prefixenf status --json
whois8
Standalone WHOIS8 protocol (draft-thain-whois8-00).
# Initialize WHOIS8 server
ipv8lab whois8 init
# Register ASN (positional: ASN HOLDER)
ipv8lab whois8 register 64496 "Example Corp" --rir ARIN
# Register route (positional: ASN PREFIX_LENGTH)
ipv8lab whois8 route 64496 16
# Lookup ASN (positional: ASN)
ipv8lab whois8 lookup 64496
# Validate route (positional: ASN [PREFIX_LENGTH])
ipv8lab whois8 validate 64496 16
# Anycast lookup (positional: ASN)
ipv8lab whois8 anycast 64496
# Verify record signature (positional: ASN)
ipv8lab whois8 verify 64496
# List all records
ipv8lab whois8 list
# Show cache
ipv8lab whois8 cache --json
# Status
ipv8lab whois8 status --json
netlog8proto
Standalone NetLog8 protocol (draft-thain-netlog8-00).
# Initialize collector
ipv8lab netlog8proto init
# Log message (positional: MESSAGE)
ipv8lab netlog8proto log "link up" --severity INFO --facility GENERAL
# Security alert (positional: MESSAGE)
ipv8lab netlog8proto sec-alert "spoofed prefix detected"
# E3 trap (positional: MESSAGE)
ipv8lab netlog8proto e3-trap "interior link leak"
# Query logs
ipv8lab netlog8proto query --severity ALERT --event-type SEC_ALERT
# Add alert rule (positional: NAME)
ipv8lab netlog8proto add-rule critical --severity ALERT
# Show alerts
ipv8lab netlog8proto alerts --json
# Export logs
ipv8lab netlog8proto export --fmt jsonl
# Show header info
ipv8lab netlog8proto header-info
# Status
ipv8lab netlog8proto status --json