- bridge)
- ${BRCTL} setfd "${bridge}" 0 || logger -t scripts-vif "Failed to brctl setfd ${bridge} 0"
- ${BRCTL} addif "${bridge}" "${dev}" || logger -t scripts-vif "Failed to brctl addif ${bridge} ${dev}"
- ;;
- vswitch)
- local VLAN_ID=$($vsctl br-to-vlan $bridge)
- local vid=
- if [ "$VLAN_ID" -ne 0 ] ; then
- bridge=$($vsctl br-to-parent $bridge)
- vid="--add=vlan.${dev}.tag=${VLAN_ID}"
- fi
-
- if [ "$TYPE" = "vif" ] ; then
- local vif_details=$(handle_vswitch_vif_details)
- fi
-
- $cfg_mod -F /etc/ovs-vswitchd.conf \
- --del-match="bridge.*.port=${dev}" \
- --del-match="vlan.${dev}.trunks=*" \
- --del-match="vlan.${dev}.tag=*" \
- --del-match="port.${dev}.[!0-9]*" \
- --add="bridge.$bridge.port=${dev}" \
- $vid $vif_details -c
- $service vswitch reload
- ;;
+ bridge)
+ ${BRCTL} setfd "${bridge}" 0 || logger -t scripts-vif "Failed to brctl setfd ${bridge} 0"
+ ${BRCTL} addif "${bridge}" "${dev}" || logger -t scripts-vif "Failed to brctl addif ${bridge} ${dev}"
+ ;;
+ openvswitch)
+ if [ "$TYPE" = "vif" ] ; then
+ local vif_details=$(handle_vswitch_vif_details $bridge)
+ fi
+
+ $vsctl --timeout=30 -- --if-exists del-port $dev -- add-port $bridge $dev $vif_details
+ ;;