diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/rc.conf b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/rc.conf
new file mode 100644
index 0000000..67859c7
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/rc.conf
@@ -0,0 +1,7 @@
+hostname="host2-0"
+ifconfig_vtnet0="inet 198.19.5.34/24"
+defaultrouter="198.19.5.1"
+ifconfig_vtnet0_ipv6="inet6 2001:678:d78:50b::22/64"
+ipv6_defaultrouter="2001:678:d78:50b::1"
+
+sshd_enable="YES"
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/rc.local b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/rc.local
new file mode 100644
index 0000000..0ca0d53
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/rc.local
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/resolv.conf b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/resolv.conf
new file mode 100644
index 0000000..6d35b25
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/resolv.conf
@@ -0,0 +1,4 @@
+domain lab.ipng.ch
+search lab.ipng.ch net.ipng.ch ipng.ch
+nameserver 194.1.163.3
+nameserver 194.1.163.4
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/ssh/sshd_config b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/ssh/sshd_config
new file mode 100644
index 0000000..084b383
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
\ No newline at end of file
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/home/ipng/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/host2-0/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/lab-build/perms b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/lab-build/perms
new file mode 100644
index 0000000..f0a7f0d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/lab-build/perms
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/lab-build/sshd b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/lab-build/sshd
new file mode 100644
index 0000000..52a4c83
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/lab-build/sshd
@@ -0,0 +1,9 @@
+
+#!/bin/sh
+
+echo "Fixing SSH permissions"
+chown -R root:wheel /etc/ssh
+chmod 600 /etc/ssh/ssh_host*key
+
+echo "Restarting SSH"
+/etc/rc.d/sshd restart
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/libvirt.xml b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/libvirt.xml
new file mode 100644
index 0000000..e6d9f62
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-0/root/libvirt.xml
@@ -0,0 +1,254 @@
+
+ host2-0
+ ea424fc6-763c-6113-39f1-4f1b97ba3de3
+
+
+
+
+
+ 8388608
+ 8388608
+ 2
+
+ /machine
+
+
+ hvm
+
+
+
+
+
+
+
+
+ SandyBridge-IBRS
+ Intel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/rc.conf b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/rc.conf
new file mode 100644
index 0000000..36ec627
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/rc.conf
@@ -0,0 +1,7 @@
+hostname="host2-1"
+ifconfig_vtnet0="inet 198.19.5.35/24"
+defaultrouter="198.19.5.1"
+ifconfig_vtnet0_ipv6="inet6 2001:678:d78:50b::23/64"
+ipv6_defaultrouter="2001:678:d78:50b::1"
+
+sshd_enable="YES"
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/rc.local b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/rc.local
new file mode 100644
index 0000000..0ca0d53
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/rc.local
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/resolv.conf b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/resolv.conf
new file mode 100644
index 0000000..6d35b25
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/resolv.conf
@@ -0,0 +1,4 @@
+domain lab.ipng.ch
+search lab.ipng.ch net.ipng.ch ipng.ch
+nameserver 194.1.163.3
+nameserver 194.1.163.4
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/ssh/sshd_config b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/ssh/sshd_config
new file mode 100644
index 0000000..084b383
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
\ No newline at end of file
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/home/ipng/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/host2-1/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/lab-build/perms b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/lab-build/perms
new file mode 100644
index 0000000..f0a7f0d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/lab-build/perms
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/lab-build/sshd b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/lab-build/sshd
new file mode 100644
index 0000000..52a4c83
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/lab-build/sshd
@@ -0,0 +1,9 @@
+
+#!/bin/sh
+
+echo "Fixing SSH permissions"
+chown -R root:wheel /etc/ssh
+chmod 600 /etc/ssh/ssh_host*key
+
+echo "Restarting SSH"
+/etc/rc.d/sshd restart
diff --git a/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/libvirt.xml b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/libvirt.xml
new file mode 100644
index 0000000..01b75ad
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/host2-1/root/libvirt.xml
@@ -0,0 +1,254 @@
+
+ host2-1
+ 8a760f61-f67e-92b1-f385-a9c819dc1a4c
+
+
+
+
+
+ 8388608
+ 8388608
+ 2
+
+ /machine
+
+
+ hvm
+
+
+
+
+
+
+
+
+ SandyBridge-IBRS
+ Intel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/rc.conf b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/rc.conf
new file mode 100644
index 0000000..2ebd190
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/rc.conf
@@ -0,0 +1,7 @@
+hostname="tap2-0"
+ifconfig_vtnet0="inet 198.19.5.36/24"
+defaultrouter="198.19.5.1"
+ifconfig_vtnet0_ipv6="inet6 2001:678:d78:50b::24/64"
+ipv6_defaultrouter="2001:678:d78:50b::1"
+
+sshd_enable="YES"
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/rc.local b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/rc.local
new file mode 100644
index 0000000..0ca0d53
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/rc.local
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/resolv.conf b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/resolv.conf
new file mode 100644
index 0000000..6d35b25
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/resolv.conf
@@ -0,0 +1,4 @@
+domain lab.ipng.ch
+search lab.ipng.ch net.ipng.ch ipng.ch
+nameserver 194.1.163.3
+nameserver 194.1.163.4
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/ssh/sshd_config b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/ssh/sshd_config
new file mode 100644
index 0000000..084b383
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
\ No newline at end of file
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/home/ipng/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/lab-build/perms b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/lab-build/perms
new file mode 100644
index 0000000..f0a7f0d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/lab-build/perms
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/lab-build/sshd b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/lab-build/sshd
new file mode 100644
index 0000000..52a4c83
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/lab-build/sshd
@@ -0,0 +1,9 @@
+
+#!/bin/sh
+
+echo "Fixing SSH permissions"
+chown -R root:wheel /etc/ssh
+chmod 600 /etc/ssh/ssh_host*key
+
+echo "Restarting SSH"
+/etc/rc.d/sshd restart
diff --git a/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/libvirt.xml b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/libvirt.xml
new file mode 100644
index 0000000..8f04f2b
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/tap2-0/root/libvirt.xml
@@ -0,0 +1,254 @@
+
+ tap2-0
+ 9a254420-def6-9e7b-565a-1ae3b2d0e8ef
+
+
+
+
+
+ 8388608
+ 8388608
+ 2
+
+ /machine
+
+
+ hvm
+
+
+
+
+
+
+
+
+ SandyBridge-IBRS
+ Intel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/rc.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/rc.conf
new file mode 100644
index 0000000..d5693ae
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/rc.conf
@@ -0,0 +1,7 @@
+hostname="vpp2-0"
+ifconfig_vtnet0="inet 198.19.5.30/24"
+defaultrouter="198.19.5.1"
+ifconfig_vtnet0_ipv6="inet6 2001:678:d78:50b::1e/64"
+ipv6_defaultrouter="2001:678:d78:50b::1"
+
+sshd_enable="YES"
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/rc.local b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/rc.local
new file mode 100644
index 0000000..0ca0d53
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/rc.local
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/resolv.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/resolv.conf
new file mode 100644
index 0000000..6d35b25
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/resolv.conf
@@ -0,0 +1,4 @@
+domain lab.ipng.ch
+search lab.ipng.ch net.ipng.ch ipng.ch
+nameserver 194.1.163.3
+nameserver 194.1.163.4
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/ssh/sshd_config b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/ssh/sshd_config
new file mode 100644
index 0000000..084b383
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
\ No newline at end of file
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/home/ipng/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/lab-build/perms b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/lab-build/perms
new file mode 100644
index 0000000..f0a7f0d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/lab-build/perms
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/lab-build/sshd b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/lab-build/sshd
new file mode 100644
index 0000000..52a4c83
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/lab-build/sshd
@@ -0,0 +1,9 @@
+
+#!/bin/sh
+
+echo "Fixing SSH permissions"
+chown -R root:wheel /etc/ssh
+chmod 600 /etc/ssh/ssh_host*key
+
+echo "Restarting SSH"
+/etc/rc.d/sshd restart
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/libvirt.xml b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/libvirt.xml
new file mode 100644
index 0000000..1d8082d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-0/root/libvirt.xml
@@ -0,0 +1,254 @@
+
+ vpp2-0
+ d1414a92-a6bc-c013-0f8a-b668c50f5ec3
+
+
+
+
+
+ 8388608
+ 8388608
+ 2
+
+ /machine
+
+
+ hvm
+
+
+
+
+
+
+
+
+ SandyBridge-IBRS
+ Intel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/rc.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/rc.conf
new file mode 100644
index 0000000..520fe20
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/rc.conf
@@ -0,0 +1,7 @@
+hostname="vpp2-1"
+ifconfig_vtnet0="inet 198.19.5.31/24"
+defaultrouter="198.19.5.1"
+ifconfig_vtnet0_ipv6="inet6 2001:678:d78:50b::1f/64"
+ipv6_defaultrouter="2001:678:d78:50b::1"
+
+sshd_enable="YES"
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/rc.local b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/rc.local
new file mode 100644
index 0000000..0ca0d53
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/rc.local
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/resolv.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/resolv.conf
new file mode 100644
index 0000000..6d35b25
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/resolv.conf
@@ -0,0 +1,4 @@
+domain lab.ipng.ch
+search lab.ipng.ch net.ipng.ch ipng.ch
+nameserver 194.1.163.3
+nameserver 194.1.163.4
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/ssh/sshd_config b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/ssh/sshd_config
new file mode 100644
index 0000000..084b383
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
\ No newline at end of file
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/home/ipng/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/lab-build/perms b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/lab-build/perms
new file mode 100644
index 0000000..f0a7f0d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/lab-build/perms
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/lab-build/sshd b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/lab-build/sshd
new file mode 100644
index 0000000..52a4c83
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/lab-build/sshd
@@ -0,0 +1,9 @@
+
+#!/bin/sh
+
+echo "Fixing SSH permissions"
+chown -R root:wheel /etc/ssh
+chmod 600 /etc/ssh/ssh_host*key
+
+echo "Restarting SSH"
+/etc/rc.d/sshd restart
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/libvirt.xml b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/libvirt.xml
new file mode 100644
index 0000000..0c43c22
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-1/root/libvirt.xml
@@ -0,0 +1,254 @@
+
+ vpp2-1
+ c255cbc3-2055-76b6-38e6-38c020711b3f
+
+
+
+
+
+ 8388608
+ 8388608
+ 2
+
+ /machine
+
+
+ hvm
+
+
+
+
+
+
+
+
+ SandyBridge-IBRS
+ Intel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/rc.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/rc.conf
new file mode 100644
index 0000000..6d3c0c4
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/rc.conf
@@ -0,0 +1,7 @@
+hostname="vpp2-2"
+ifconfig_vtnet0="inet 198.19.5.32/24"
+defaultrouter="198.19.5.1"
+ifconfig_vtnet0_ipv6="inet6 2001:678:d78:50b::20/64"
+ipv6_defaultrouter="2001:678:d78:50b::1"
+
+sshd_enable="YES"
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/rc.local b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/rc.local
new file mode 100644
index 0000000..0ca0d53
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/rc.local
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/resolv.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/resolv.conf
new file mode 100644
index 0000000..6d35b25
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/resolv.conf
@@ -0,0 +1,4 @@
+domain lab.ipng.ch
+search lab.ipng.ch net.ipng.ch ipng.ch
+nameserver 194.1.163.3
+nameserver 194.1.163.4
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/ssh/sshd_config b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/ssh/sshd_config
new file mode 100644
index 0000000..084b383
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
\ No newline at end of file
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/home/ipng/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/lab-build/perms b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/lab-build/perms
new file mode 100644
index 0000000..f0a7f0d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/lab-build/perms
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/lab-build/sshd b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/lab-build/sshd
new file mode 100644
index 0000000..52a4c83
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/lab-build/sshd
@@ -0,0 +1,9 @@
+
+#!/bin/sh
+
+echo "Fixing SSH permissions"
+chown -R root:wheel /etc/ssh
+chmod 600 /etc/ssh/ssh_host*key
+
+echo "Restarting SSH"
+/etc/rc.d/sshd restart
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/libvirt.xml b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/libvirt.xml
new file mode 100644
index 0000000..3cc77c3
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-2/root/libvirt.xml
@@ -0,0 +1,254 @@
+
+ vpp2-2
+ 2c8a4f0e-8d5a-3f2e-0bb7-2373386fd066
+
+
+
+
+
+ 8388608
+ 8388608
+ 2
+
+ /machine
+
+
+ hvm
+
+
+
+
+
+
+
+
+ SandyBridge-IBRS
+ Intel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/rc.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/rc.conf
new file mode 100644
index 0000000..c346bda
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/rc.conf
@@ -0,0 +1,7 @@
+hostname="vpp2-3"
+ifconfig_vtnet0="inet 198.19.5.33/24"
+defaultrouter="198.19.5.1"
+ifconfig_vtnet0_ipv6="inet6 2001:678:d78:50b::21/64"
+ipv6_defaultrouter="2001:678:d78:50b::1"
+
+sshd_enable="YES"
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/rc.local b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/rc.local
new file mode 100644
index 0000000..0ca0d53
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/rc.local
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/resolv.conf b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/resolv.conf
new file mode 100644
index 0000000..6d35b25
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/resolv.conf
@@ -0,0 +1,4 @@
+domain lab.ipng.ch
+search lab.ipng.ch net.ipng.ch ipng.ch
+nameserver 194.1.163.3
+nameserver 194.1.163.4
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/ssh/sshd_config b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/ssh/sshd_config
new file mode 100644
index 0000000..084b383
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
\ No newline at end of file
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/home/ipng/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/.ssh/authorized_keys b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/.ssh/authorized_keys
new file mode 100644
index 0000000..331e254
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/.ssh/authorized_keys
@@ -0,0 +1,6 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/lab-build/perms b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/lab-build/perms
new file mode 100644
index 0000000..f0a7f0d
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/lab-build/perms
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/lab-build/sshd b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/lab-build/sshd
new file mode 100644
index 0000000..52a4c83
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/lab-build/sshd
@@ -0,0 +1,9 @@
+
+#!/bin/sh
+
+echo "Fixing SSH permissions"
+chown -R root:wheel /etc/ssh
+chmod 600 /etc/ssh/ssh_host*key
+
+echo "Restarting SSH"
+/etc/rc.d/sshd restart
diff --git a/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/libvirt.xml b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/libvirt.xml
new file mode 100644
index 0000000..85b01ad
--- /dev/null
+++ b/build/freebsd/hvn2.lab.ipng.ch/vpp2-3/root/libvirt.xml
@@ -0,0 +1,254 @@
+
+ vpp2-3
+ 369c5302-e6f1-5120-f48d-6931012dda01
+
+
+
+
+
+ 8388608
+ 8388608
+ 2
+
+ /machine
+
+
+ hvm
+
+
+
+
+
+
+
+
+ SandyBridge-IBRS
+ Intel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ destroy
+ restart
+ destroy
+
+
+
+
+
+ /usr/bin/qemu-system-x86_64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /dev/urandom
+
+
+
+
+
+
diff --git a/config/common/generic.yaml b/config/common/generic.yaml
index c907c34..e5ed52f 100644
--- a/config/common/generic.yaml
+++ b/config/common/generic.yaml
@@ -7,6 +7,10 @@ overlays:
path: overlays/frr/
build: build/frr/
+ freebsd:
+ path: overlays/freebsd/
+ build: build/freebsd/
+
lab:
mgmt:
ipv4: 198.19.5.16/24
diff --git a/create b/create
index 857e3a7..a950d64 100755
--- a/create
+++ b/create
@@ -31,15 +31,26 @@ HVN="hvn${LAB}.lab.ipng.ch"
VMS=$(ls -1 build/${BUILD}/${HVN}/)
+PARTITION="part1"
+TARGET=LINUX
+echo $BASE | grep -q freebsd && {
+ echo "FreeBSD build."
+ MOUNTFLAGS="-w -t ufs -o ufstype=ufs2"
+ PARTITION="part4"
+ TARGET=FREEBSD
+}
+
for VM in $VMS; do
echo "[$VM] Cloning base"
ssh root@$HVN "mkdir -p $STAGING/$VM; zfs clone $BASE vol0/$VM"
echo "[$VM] Mounting in staging"
- ssh root@$HVN "mount /dev/zvol/vol0/$VM-part1 $STAGING/$VM"
+ ssh root@$HVN "mount $MOUNTFLAGS /dev/zvol/vol0/$VM-$PARTITION $STAGING/$VM"
echo "[$VM] Rsyncing build"
rsync -aIcg build/$BUILD/$HVN/$VM/ root@${HVN}:$STAGING/$VM/
- echo "[$VM] Running lab-build snippets"
- ssh root@$HVN "cd $STAGING/$VM; for s in root/lab-build/*; do chroot $STAGING/$VM /bin/bash /\$s; done"
+ if [ "$TARGET" = "LINUX" ]; then
+ echo "[$VM] Running lab-build snippets"
+ ssh root@$HVN "cd $STAGING/$VM; for s in root/lab-build/*; do chroot $STAGING/$VM /bin/sh /\$s; done"
+ fi
echo "[$VM] Unmounting and snapshotting pristine state"
ssh root@$HVN "umount $STAGING/$VM; zfs snapshot vol0/${VM}@pristine"
echo "[$VM] Copying libvirt config"
diff --git a/overlays/freebsd/common/etc/rc.conf.j2 b/overlays/freebsd/common/etc/rc.conf.j2
new file mode 100644
index 0000000..376778c
--- /dev/null
+++ b/overlays/freebsd/common/etc/rc.conf.j2
@@ -0,0 +1,8 @@
+hostname="{{ node.hostname }}"
+ifconfig_vtnet0="inet {{ node.mgmt.ipv4 }}"
+defaultrouter="{{ lab.mgmt.gw4 }}"
+ifconfig_vtnet0_ipv6="inet6 {{ node.mgmt.ipv6 }}"
+ipv6_defaultrouter="{{ lab.mgmt.gw6 }}"
+
+sshd_enable="YES"
+
diff --git a/overlays/freebsd/common/etc/rc.local b/overlays/freebsd/common/etc/rc.local
new file mode 100755
index 0000000..c202ecb
--- /dev/null
+++ b/overlays/freebsd/common/etc/rc.local
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+for s in /root/lab-build/*
+do
+ echo "** Executing $s"
+ /bin/sh $s
+done
+
diff --git a/overlays/freebsd/common/etc/resolv.conf.j2 b/overlays/freebsd/common/etc/resolv.conf.j2
new file mode 100644
index 0000000..fbce15d
--- /dev/null
+++ b/overlays/freebsd/common/etc/resolv.conf.j2
@@ -0,0 +1,6 @@
+domain lab.ipng.ch
+search{% for domain in lab.nameserver.search %} {{domain}}{%endfor %}
+
+nameserver 194.1.163.3
+nameserver 194.1.163.4
+
diff --git a/overlays/freebsd/common/etc/ssh/sshd_config b/overlays/freebsd/common/etc/ssh/sshd_config
new file mode 100644
index 0000000..3fe6414
--- /dev/null
+++ b/overlays/freebsd/common/etc/ssh/sshd_config
@@ -0,0 +1,121 @@
+# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options override the
+# default value.
+
+# Note that some of FreeBSD's defaults differ from OpenBSD's, and
+# FreeBSD has a few additional options.
+
+#Port 22
+#AddressFamily any
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_ecdsa_key
+#HostKey /etc/ssh/ssh_host_ed25519_key
+
+# Ciphers and keying
+#RekeyLimit default none
+
+# Logging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+#MaxSessions 10
+
+#PubkeyAuthentication yes
+
+# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
+# but this is overridden so installations will only check .ssh/authorized_keys
+AuthorizedKeysFile .ssh/authorized_keys
+
+#AuthorizedPrincipalsFile none
+
+#AuthorizedKeysCommand none
+#AuthorizedKeysCommandUser nobody
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# Change to yes to enable built-in password authentication.
+# Note that passwords may also be accepted via KbdInteractiveAuthentication.
+#PasswordAuthentication no
+#PermitEmptyPasswords no
+
+# Change to no to disable PAM authentication
+#KbdInteractiveAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'no' to disable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the KbdInteractiveAuthentication and
+# PasswordAuthentication. Depending on your PAM configuration,
+# PAM authentication via KbdInteractiveAuthentication may bypass
+# the setting of "PermitRootLogin prohibit-password".
+# If you just want the PAM account and session checks to run without
+# PAM authentication, then enable this but set PasswordAuthentication
+# and KbdInteractiveAuthentication to 'no'.
+#UsePAM yes
+
+#AllowAgentForwarding yes
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PermitTTY yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#PermitTunnel no
+#ChrootDirectory none
+#UseBlacklist no
+#VersionAddendum FreeBSD-20231004
+
+# no default banner path
+#Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/libexec/sftp-server
+
+# Example of overriding settings on a per-user basis
+#Match User anoncvs
+# X11Forwarding no
+# AllowTcpForwarding no
+# PermitTTY no
+# ForceCommand cvs server
diff --git a/overlays/freebsd/common/home/ipng/.ssh/authorized_keys b/overlays/freebsd/common/home/ipng/.ssh/authorized_keys
new file mode 100644
index 0000000..1d72d30
--- /dev/null
+++ b/overlays/freebsd/common/home/ipng/.ssh/authorized_keys
@@ -0,0 +1,11 @@
+# pim@ipng.nl - absynth, bfib, gripe, spongebob, homenet
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8X6oRdLn7PckWIRL+Fgp46qN+fglQLBJIvPHJ2P277v4tx/qlELaT8w45YyEPrUZ4XbbNIB4P59H63wPxIpk/d15k0C7Zx3kTESaEQuts3fne3ZFmrWm0dLD2yDTiB0zCraiQ5a0w++xuGEC3wdWPV+FHZh5Ea+WCd91g2xXPHJeosAQzBBBBaC9Shhx91h6lbCm4evvgqLnwt7JgnI2N4w2qr13lDDaRD4BXfyFrtLSTdhBgYEaFnUd6Afz5ilfDYXQW/yTSHZOIQ/vNVFpFxYrtmwHDdrSMiDpz0FE/4LLBG/rFl2VvRTmTEyjvwpGpEVaivMOLo/jRc3TA7jKB pim@ipng.nl
+
+# pim's M1 macbookpro SeKEY
+ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKDP/hLZusPNfKTy3t9bbbOHyczX+UACc4rYstc3QEDBDfxBnCZcMKN5Mv10o+q/+ap7wyFhONlz/qcUhEMbI1k=
+
+{% if lab.ssh is defined and 'ipng' in lab.ssh %}
+{% for key in lab.ssh.ipng | default([]) %}
+{{ key }}
+{% endfor %}
+{% endif %}
diff --git a/overlays/freebsd/common/root/.ssh/authorized_keys b/overlays/freebsd/common/root/.ssh/authorized_keys
new file mode 120000
index 0000000..e6b7be7
--- /dev/null
+++ b/overlays/freebsd/common/root/.ssh/authorized_keys
@@ -0,0 +1 @@
+../../../../_common/common/root/.ssh/authorized_keys
\ No newline at end of file
diff --git a/overlays/freebsd/common/root/lab-build/perms b/overlays/freebsd/common/root/lab-build/perms
new file mode 100644
index 0000000..656c760
--- /dev/null
+++ b/overlays/freebsd/common/root/lab-build/perms
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+echo "Fixing permissions"
+chown root:wheel / /etc
+chown -R root:wheel /root
+chown -R ipng:ipng /home/ipng/
+
diff --git a/overlays/freebsd/common/root/libvirt.xml.j2 b/overlays/freebsd/common/root/libvirt.xml.j2
new file mode 120000
index 0000000..3af6435
--- /dev/null
+++ b/overlays/freebsd/common/root/libvirt.xml.j2
@@ -0,0 +1 @@
+../../../_common/common/root/libvirt.xml.j2
\ No newline at end of file