components/openstack/neutron/files/agent/evs_l3_agent.py
branchs11-update
changeset 3196 4c06db2d9388
parent 3178 77584387a894
child 3200 16d08ab96b7f
--- a/components/openstack/neutron/files/agent/evs_l3_agent.py	Tue Jul 01 14:49:32 2014 -0700
+++ b/components/openstack/neutron/files/agent/evs_l3_agent.py	Wed Jul 02 13:34:33 2014 -0700
@@ -241,7 +241,7 @@
                 return
             vid = stdout.splitlines()[0].strip()
             if vid == "":
-                LOG.error(_("External Network does not has a VLAN ID "
+                LOG.error(_("External Network does not have a VLAN ID "
                             "associated with it, and it is required to "
                             "create external gateway port"))
                 return
@@ -306,7 +306,8 @@
         # now setup the IPF rule
         rules = ['block in quick on %s from %s to pool/%d' %
                  (internal_dlname, subnet_cidr, new_ippool_name)]
-        ri.ipfilters_manager.add_ipf_rules(rules)
+        ipversion = netaddr.IPNetwork(subnet_cidr).version
+        ri.ipfilters_manager.add_ipf_rules(rules, ipversion)
 
     def internal_network_removed(self, ri, port):
         internal_dlname = self.get_internal_device_name(port['id'])
@@ -318,7 +319,8 @@
         ippool_name = self._get_ippool_name(port['mac_address'])
         rules = ['block in quick on %s from %s to pool/%d' %
                  (internal_dlname, port['subnet']['cidr'], ippool_name)]
-        ri.ipfilters_manager.remove_ipf_rules(rules)
+        ipversion = netaddr.IPNetwork(port['subnet']['cidr']).version
+        ri.ipfilters_manager.remove_ipf_rules(rules, ipversion)
         # remove the ippool
         ri.ipfilters_manager.remove_ippool(ippool_name, None)
         for internal_port in ri.internal_ports: