'Ensure unique IPv6 router ports per network id.
Adding a router port containing one or more IPv6 subnets with the same
network id as an existing router port should fail. This is so
there is no ambiguity regarding on which port to add an IPv6 subnet
when executing router-interface-add with a subnet and no port.'

def test_router_add_interface_ipv6_port_existing_network_returns_400(self):

    with self.network() as n:
        with self.router() as r:
            with self.subnet(network=n, cidr='fd00::/64', ip_version=6) as s1:
                with self.subnet(network=n, cidr='fd01::/64', ip_version=6) as s2:
                    orig_update_port = self.plugin.update_port
                    with self.port(subnet=s1) as p:
                        with mock.patch.object(self.plugin, 'update_port') as update_port:
                            update_port.side_effect = orig_update_port
                            self._router_interface_action('add', r['router']['id'], s2['subnet']['id'], None)
                            exp_code = exc.HTTPBadRequest.code
                            body = self._router_interface_action('add', r['router']['id'], None, p['port']['id'], expected_code=exp_code)
                            self._assert_body_port_id_and_update_port(body, update_port, p['port']['id'], r['router']['id'])
                            self._router_interface_action('remove', r['router']['id'], s2['subnet']['id'], None)
