#!/bin/bash

# This script tests that when a vlan interface is created with bridge binding
# off, and then bridge binding turned on using "ip link set" command, bridge
# binding is actually turned on -- this hasn't been the case in the past.

# Remove interfaces that may have been created by the previous run
ip link delete veth10
ip link delete veth20
ip link delete br_default

# Create a bridge and add two ports to it.
ip link add dev br_default type bridge
ip link add dev veth10 type veth peer name veth11
ip link add dev veth20 type veth peer name veth21
ip link set dev veth10 master br_default
ip link set dev veth20 master br_default

# Create VLAN 10.
bridge vlan add vid 10 dev br_default self

# Add veth10 to VLAN 10.
bridge vlan add vid 10 dev veth10

# Bring up the ports and the bridge.
ip link set veth10 up
ip link set veth11 up
ip link set veth20 up
ip link set veth21 up
ip link set br_default up

# Add VLAN interface vlan10 to VLAN 10 with bridge binding off.
ip link add link br_default name vlan10 type vlan id 10 protocol 802.1q bridge_binding off

# Bring up  VLAN interface.
ip link set vlan10 up


