# License for the specific language governing permissions and limitations
# under the License.
+from neutron.common import constants
+
class OVSDVRProcessMixin(object):
"""Common logic for br-tun and br-phys' DVR_PROCESS tables.
priority=3,
dl_vlan=vlan_tag,
proto='icmp6',
+ icmp_type=constants.ICMPV6_TYPE_RA,
dl_src=gateway_mac,
actions='drop')
self.delete_flows(table=self.dvr_process_table_id,
dl_vlan=vlan_tag,
proto='icmp6',
+ icmp_type=constants.ICMPV6_TYPE_RA,
dl_src=gateway_mac)
def install_dvr_process(self, vlan_tag, vif_mac, dvr_mac_address):
import mock
+from neutron.common import constants
+
from neutron.tests.unit.plugins.ml2.drivers.openvswitch.agent \
import ovs_test_base
expected = [
call.add_flow(table=self.dvr_process_table_id,
proto='icmp6', dl_src=gateway_mac, actions='drop',
- priority=3, dl_vlan=vlan_tag),
+ priority=3, dl_vlan=vlan_tag,
+ icmp_type=constants.ICMPV6_TYPE_RA),
]
self.assertEqual(expected, self.mock.mock_calls)
expected = [
call.delete_flows(table=self.dvr_process_table_id,
dl_vlan=vlan_tag, dl_src=gateway_mac,
- proto='icmp6'),
+ proto='icmp6',
+ icmp_type=constants.ICMPV6_TYPE_RA),
]
self.assertEqual(expected, self.mock.mock_calls)