[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/5] hotplug/linux: Properly match input/output interfaces for non-bridge mode
The "-m physdev --physdev-is-bridged --physdev-XXX" condition only works for ports of a bridge and won't match anything in the other cases. Signed-off-by: Sylvain Munaut <s.munaut@xxxxxxxxxxxxxxxxxxxx> --- tools/hotplug/Linux/vif-bridge | 2 +- tools/hotplug/Linux/vif-common.sh | 14 ++++++++++++-- tools/hotplug/Linux/vif-openvswitch | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/hotplug/Linux/vif-bridge b/tools/hotplug/Linux/vif-bridge index 6956dea..bc0e944 100644 --- a/tools/hotplug/Linux/vif-bridge +++ b/tools/hotplug/Linux/vif-bridge @@ -93,7 +93,7 @@ case "$command" in ;; esac -handle_iptable +handle_iptable bridge call_hooks vif post diff --git a/tools/hotplug/Linux/vif-common.sh b/tools/hotplug/Linux/vif-common.sh index 33e5408..77d139d 100644 --- a/tools/hotplug/Linux/vif-common.sh +++ b/tools/hotplug/Linux/vif-common.sh @@ -129,9 +129,9 @@ frob_iptable() local c="-D" fi - iptables "$c" FORWARD -w -m physdev --physdev-is-bridged --physdev-in "$dev" \ + iptables "$c" FORWARD -w $dev_in_match "$dev" \ "$@" -j ACCEPT 2>/dev/null && - iptables "$c" FORWARD -w -m physdev --physdev-is-bridged --physdev-out "$dev" \ + iptables "$c" FORWARD -w $dev_out_match "$dev" \ -j ACCEPT 2>/dev/null if [ \( "$command" == "online" -o "$command" == "add" \) -a $? -ne 0 ] @@ -150,6 +150,16 @@ frob_iptable() # handle_iptable() { + # Set iptables match mode + if [ "$1" == "bridge" ]; + then + dev_in_match="-m physdev --physdev-is-bridged --physdev-in" + dev_out_match="-m physdev --physdev-is-bridged --physdev-out" + else + dev_in_match="-i" + dev_out_match="-o" + fi + # Check for a working iptables installation. Checking for the iptables # binary is not sufficient, because the user may not have the appropriate # modules installed. If iptables is not working, then there's no need to do diff --git a/tools/hotplug/Linux/vif-openvswitch b/tools/hotplug/Linux/vif-openvswitch index 18bfb6c..1d842a4 100644 --- a/tools/hotplug/Linux/vif-openvswitch +++ b/tools/hotplug/Linux/vif-openvswitch @@ -100,7 +100,7 @@ case "$command" in esac if [ "$type_if" = vif ]; then - handle_iptable + handle_iptable bridge fi log debug "Successful vif-openvswitch $command for $dev." -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |