X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vtep%2Fovs-vtep;h=721063b3e10e990b0f71ccb10551f95ed473c060;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hp=93af9a95567a1e9f654f1b555028c1604ca73671;hpb=407913995a6fb7f01382984ce4440e48afd23eda;p=sliver-openvswitch.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)))