MCPcopy Create free account
hub / github.com/apache/cloudstack / default_network_rules_systemvm

Function default_network_rules_systemvm

scripts/vm/network/security_group.py:374–405  ·  view source on GitHub ↗
(vm_name, localbrname)

Source from the content-addressed store, hash-verified

372 return True
373
374def default_network_rules_systemvm(vm_name, localbrname):
375 bridges = get_bridges(vm_name)
376 domid = get_vm_id(vm_name)
377 vmchain = iptables_chain_name(vm_name)
378
379 delete_rules_for_vm_in_bridge_firewall_chain(vm_name)
380
381 try:
382 execute("iptables -N " + vmchain)
383 except:
384 execute("iptables -F " + vmchain)
385
386 for bridge in bridges:
387 if bridge != localbrname:
388 if not add_fw_framework(bridge):
389 return False
390 brfw = get_br_fw(bridge)
391 vifs = get_vifs_for_bridge(vm_name, bridge)
392 for vif in vifs:
393 try:
394 execute("iptables -A " + brfw + "-OUT" + " -m physdev --physdev-is-bridged --physdev-out " + vif + " -j " + vmchain)
395 execute("iptables -A " + brfw + "-IN" + " -m physdev --physdev-is-bridged --physdev-in " + vif + " -j " + vmchain)
396 execute("iptables -A " + vmchain + " -m physdev --physdev-is-bridged --physdev-in " + vif + " -j RETURN")
397 except:
398 logging.debug("Failed to program default rules")
399 return False
400
401 execute("iptables -A " + vmchain + " -j ACCEPT")
402
403 if not write_rule_log_for_vm(vm_name, '-1', '_ignore_', domid, '_initial_', '-1'):
404 logging.debug("Failed to log default network rules for systemvm, ignoring")
405 return True
406
407
408def remove_secip_log_for_vm(vmName):

Callers 2

security_group.pyFile · 0.85

Calls 10

get_bridgesFunction · 0.85
get_vm_idFunction · 0.85
iptables_chain_nameFunction · 0.85
add_fw_frameworkFunction · 0.85
get_br_fwFunction · 0.85
get_vifs_for_bridgeFunction · 0.85
write_rule_log_for_vmFunction · 0.85
debugMethod · 0.80
executeFunction · 0.70

Tested by

no test coverage detected