#! /bin/sh
#

#
# manually created hierarchy
#

ip link add link eth0 type macvlan
ip link set macvlan0 up

tc qdisc del dev macvlan0 root
tc qdisc replace dev macvlan0 handle 1: root mq
for i in $(seq 1 4); do
	tc qdisc add dev macvlan0 parent 1:$i pfifo
done

# ENOENT - parent class doesn't exist
tc qdisc add dev macvlan0 parent 1:5 pfifo

# EEXIST - class already exists
tc class add dev macvlan0 parent 1: classid 1:4

# EOPNOTSUPP - class creation not supported
tc class add dev macvlan0 parent 1: classid 1:5

# EOPNOTSUPP - filters not supported
tc filter add dev macvlan0 parent 1: handle 1 fw classid 1:1

# EOPNOTSUPP - parent not root qdisc
tc qdisc add dev macvlan0 parent 1:1 mq

tc -s -d qdisc show dev macvlan0
tc -d -s class show dev macvlan0

#
# default mq qdisc
#

ip link add link eth0 txqueuelen 1000 type macvlan
ip link set macvlan1 up

tc -s -d qdisc show dev macvlan1
tc -d -s class show dev macvlan1
