CLOUDSTACK-4750
use interface wildcard "+" in iptables to cover potential used VLAN
interface to allow output on physical interface.
you will see
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
PHYSDEV match --physdev-out bond2+ --physdev-is-bridged
instead of
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
PHYSDEV match --physdev-out bond2.1234 --physdev-is-bridged
Anthony
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/27294a38
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/27294a38
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/27294a38
Branch: refs/heads/rbac
Commit: 27294a382757da25528bd45647933387b031ab5d
Parents: 9d2271d
Author: Anthony Xu <[email protected]>
Authored: Wed Oct 30 15:12:21 2013 -0700
Committer: Anthony Xu <[email protected]>
Committed: Wed Oct 30 15:12:21 2013 -0700
----------------------------------------------------------------------
scripts/vm/hypervisor/xenserver/vmops | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/27294a38/scripts/vm/hypervisor/xenserver/vmops
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/vmops
b/scripts/vm/hypervisor/xenserver/vmops
index 18233d9..3f11960 100755
--- a/scripts/vm/hypervisor/xenserver/vmops
+++ b/scripts/vm/hypervisor/xenserver/vmops
@@ -495,12 +495,8 @@ def allow_egress_traffic(session):
devs = []
for pif in session.xenapi.PIF.get_all():
pif_rec = session.xenapi.PIF.get_record(pif)
- vlan = pif_rec.get('VLAN')
dev = pif_rec.get('device')
- if vlan == '-1':
- devs.append(dev)
- else:
- devs.append(dev + "." + vlan)
+ devs.append(dev + "+")
for d in devs:
try:
util.pread2(['/bin/bash', '-c', "iptables -n -L FORWARD | grep '%s
'" % d])
@@ -804,8 +800,6 @@ def default_network_rules_systemvm(session, args):
except:
util.pread2(['iptables', '-F', vmchain])
- allow_egress_traffic(session)
-
for vif in vifs:
try:
util.pread2(['iptables', '-A', 'BRIDGE-FIREWALL', '-m', 'physdev',
'--physdev-is-bridged', '--physdev-out', vif, '-j', vmchain])