mirror of
https://github.com/openvswitch/ovs
synced 2025-10-19 14:37:21 +00:00
rhel: Fix ifup-ovs to delete ports first.
When ifdown isn't executed (system didn't shut down properly), the interfaces remain in the openvswitch's database. For the internal ports or devices that are available when openvswitch service starts that's not an issue. However, ovs-vsctl won't do anything for devices created later (Linux vlan devices for instance) since they are already in the database. That leaves a inconsistency behind because they will be left out of the kernel's datapath. The ifup/ifdown will operate only on configured interfaces, so this patch fixes the issue by deleting the interface from the database before attempt to configure it. Signed-off-by: Flavio Leitner <fbl@redhat.com> Acked-by: Jiri Benc <jbenc@redhat.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
committed by
Ben Pfaff
parent
73cd29796f
commit
24496b4ac2
@@ -117,7 +117,11 @@ case "$TYPE" in
|
||||
OVSPort)
|
||||
ifup_ovs_bridge
|
||||
${OTHERSCRIPT} ${CONFIG} ${2}
|
||||
ovs-vsctl -t ${TIMEOUT} -- --may-exist add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
|
||||
# The port might be already in the database but not yet
|
||||
# in the datapath. So, remove the stale interface first.
|
||||
ovs-vsctl -t ${TIMEOUT} \
|
||||
-- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \
|
||||
-- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA}
|
||||
OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE"
|
||||
;;
|
||||
OVSIntPort)
|
||||
|
Reference in New Issue
Block a user