#!/bin/bash
echo 'Complex example with VLANs'
set -e -u

tmp=$(mktemp -d)
trap "rm -rf '$tmp'" EXIT

export UNIVENTION_BASECONF="$tmp/base.conf"
cat <<'__UCR__' >"$UNIVENTION_BASECONF"
# univention_ base.conf

interfaces/eth0/order: 1
interfaces/eth0/start: true
interfaces/eth0/type: static
interfaces/eth0/address: 192.168.42.2
interfaces/eth0/netmask: 255.255.255.0
interfaces/eth0/network: 192.168.42.0
interfaces/eth0/broadcast: 192.168.42.255
interfaces/eth0/options/0: _bridge_fd 0
interfaces/eth0/options/1: up ethtool -s $IFACE wol g || true
interfaces/eth0.1/type: static
interfaces/eth0.1/order: 2
interfaces/eth0.1/start: true
interfaces/eth0.1/address: 192.168.42.2
interfaces/eth0.1/netmask: 255.255.255.0
interfaces/eth0.1/network: 192.168.42.0
interfaces/eth0.1/broadcast: 192.168.42.255
interfaces/eth0.2/type: static
interfaces/eth0.2/start: false
interfaces/eth0.2/address: 192.168.42.2
interfaces/eth0.2/netmask: 255.255.255.0
interfaces/eth0.2/network: 192.168.42.0
interfaces/eth0.2/broadcast: 192.168.42.255
interfaces/eth0.2/options/3: vlan-raw-device eth0
interfaces/eth1/start: true
interfaces/eth1/type: static
interfaces/eth1/address: 192.168.43.2
interfaces/eth1/netmask: 255.255.255.0
interfaces/eth1/network: 192.168.43.0
interfaces/eth1/broadcast: 192.168.43.255
interfaces/eth2/type: dynamic
interfaces/vlan/type: manual
interfaces/vlan/options/0: vlan-raw-device eth0
interfaces/primary: eth0
__UCR__

"$(dirname "$0")/../ucs-kvm-setup-bridge" --dry-run >"$tmp/out"

diff -u "$tmp/out" - <<'__OUT__'
interfaces/br0.1/address: '192.168.42.2'
interfaces/br0.1/broadcast: '192.168.42.255'
interfaces/br0.1/netmask: '255.255.255.0'
interfaces/br0.1/network: '192.168.42.0'
interfaces/br0.1/options/0: 'vlan-raw-device br0'
interfaces/br0.1/order: '3'
interfaces/br0.1/start: 'true'
interfaces/br0.1/type: 'static'
interfaces/br0.2/address: '192.168.42.2'
interfaces/br0.2/broadcast: '192.168.42.255'
interfaces/br0.2/netmask: '255.255.255.0'
interfaces/br0.2/network: '192.168.42.0'
interfaces/br0.2/options/3: 'vlan-raw-device br0'
interfaces/br0.2/start: 'false'
interfaces/br0.2/type: 'static'
interfaces/br0/address: '192.168.42.2'
interfaces/br0/broadcast: '192.168.42.255'
interfaces/br0/netmask: '255.255.255.0'
interfaces/br0/network: '192.168.42.0'
interfaces/br0/options/0: '_bridge_fd 0'
interfaces/br0/options/1: 'up ethtool -s $IFACE wol g || true'
interfaces/br0/options/2: 'bridge_fd 0'
interfaces/br0/options/3: 'bridge_ports eth0'
interfaces/br0/order: '2'
interfaces/br0/start: 'true'
interfaces/br0/type: 'static'
interfaces/eth0.1/address: None
interfaces/eth0.1/broadcast: None
interfaces/eth0.1/netmask: None
interfaces/eth0.1/network: None
interfaces/eth0.1/start: None
interfaces/eth0.1/type: None
interfaces/eth0.2/address: None
interfaces/eth0.2/broadcast: None
interfaces/eth0.2/netmask: None
interfaces/eth0.2/network: None
interfaces/eth0.2/options/3: 'vlan-raw-device br0'
interfaces/eth0.2/start: None
interfaces/eth0.2/type: None
interfaces/eth0/address: None
interfaces/eth0/broadcast: None
interfaces/eth0/netmask: None
interfaces/eth0/network: None
interfaces/eth0/start: 'true'
interfaces/eth0/type: 'manual'
interfaces/primary: 'br0'
interfaces/vlan/options/0: 'vlan-raw-device br0'
__OUT__
