]> git.proxmox.com Git - pve-manager.git/blame - bridgevlan
bridgevlan : allow filtering on tagged interfaces
[pve-manager.git] / bridgevlan
CommitLineData
1010159a
AD
1#!/bin/sh
2
3if [ ! -x /sbin/bridge ] && [ ! -f /sys/class/net/$IFACE/bridge/vlan_filtering ]
4then
5 exit 0
6fi
7
8# Enabling vlan filtering feature
9if [ "$MODE" = "start" ] ; then
10
11 if [ -n "$IF_BRIDGE_VLAN_AWARE" ]
12 then
13 echo 1 > /sys/class/net/$IFACE/bridge/vlan_filtering
14 else
15 exit 0
16 fi
17
18fi
19
20. /lib/bridge-utils/bridge-utils.sh
21
22case "$IF_BRIDGE_PORTS" in
23 "")
24 exit 0
25 ;;
26 none)
27 INTERFACES=""
28 ;;
29 *)
30 INTERFACES="$IF_BRIDGE_PORTS"
31 ;;
32esac
33
34all_interfaces= &&
35unset all_interfaces &&
36bridge_parse_ports $INTERFACES | while read i
37do
38 for port in $i
39 do
40 if [ "$MODE" = "start" ] && [ -d /sys/class/net/$IFACE/brif/$port ]; then
ea92d8b6 41 case "$port" in
ea92d8b6
DM
42 *)
43 # we allow vlan to pass through attached interface
44 if [ -n "$IF_BRIDGE_VIDS" ]
45 then
46 bridge vlan add dev $port vid $IF_BRIDGE_VIDS
47 else
48 bridge vlan add dev $port vid 2-4094
49 fi
50 ;;
51 esac
1010159a
AD
52 fi
53 done
54done
55