X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=vtep%2Fovs-vtep;h=721063b3e10e990b0f71ccb10551f95ed473c060;hb=36b87338ede898da6a1b86d374d2036683195856;hp=93af9a95567a1e9f654f1b555028c1604ca73671;hpb=9b4a53923a8a915c0c6a5365b392a7efd6f9bf71;p=cascardo%2Fovs.git diff --git a/vtep/ovs-vtep b/vtep/ovs-vtep index 93af9a955..721063b3e 100755 --- a/vtep/ovs-vtep +++ b/vtep/ovs-vtep @@ -114,9 +114,20 @@ class Logical_Switch(object): def update_flood(self): flood_ports = self.ports.values() + # Traffic flowing from one 'unknown-dst' should not be flooded to + # port belonging to another 'unknown-dst'. + for tunnel in self.unknown_dsts: + port_no = self.tunnels[tunnel][0] + ovs_ofctl("add-flow %s table=1,priority=1,in_port=%s,action=%s" + % (self.short_name, port_no, ",".join(flood_ports))) + + # Traffic coming from a VTEP physical port should only be flooded to + # one 'unknown-dst' and to all other physical ports that belong to that + # VTEP device and this logical switch. for tunnel in self.unknown_dsts: port_no = self.tunnels[tunnel][0] flood_ports.append(port_no) + break ovs_ofctl("add-flow %s table=1,priority=0,action=%s" % (self.short_name, ",".join(flood_ports)))