Skip to content

Commit c4e174f

Browse files
George ShuklinJeromem
authored andcommitted
Fix bridge name selection for vswitch mode in scripts/setup-vif-rules
- bridge_name = "xenbr%s" % devid + bridge_name = get_bridge_name_vswitch(vif_name) Devid is device number for domU (f.e. vif1.15; 15 - devid) and is definitely NOT a xenbr number (xenbr0, xenbr1, etc). Signed-off-by: George Shuklin <[email protected]>
1 parent b2f03c4 commit c4e174f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

scripts/setup-vif-rules

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,10 +229,15 @@ def create_vswitch_rules(bridge_name, port, config):
229229
# Drop everything else.
230230
add_flow(bridge_name, "in_port=%s,priority=4000,idle_timeout=0,action=drop" % port)
231231

232+
def get_bridge_name_vswitch(vif_name):
233+
'''return bridge vif belong to'''
234+
(rc, stdout, stderr) = doexec([vsctl, "iface-to-br", vif_name ])
235+
return stdout.readline().strip()
236+
232237
def handle_vswitch(vif_type, domid, devid, action):
233238
if (action == "clear") or (action == "filter"):
234-
bridge_name = "xenbr%s" % devid
235239
vif_name = "%s%s.%s" % (vif_type, domid, devid)
240+
bridge_name = get_bridge_name_vswitch(vif_name)
236241
ip_link_set(vif_name, "down")
237242
port = get_vswitch_port(vif_name)
238243
clear_vswitch_rules(bridge_name, port)

0 commit comments

Comments
 (0)