David Silva has agreed to a two-year deal with Real Sociedad.

Silva played for Valencia before he joined Manchester City.

Italian media reported that Lazio had offered Silva a three-year contract worth 10 million euros ($11.94 million) and the Serie A club were confident of signing him.

"I've heard about David Silva's transfer to Real Sociedad. I have huge respect for the player but not for the man," Lazio sporting director Igli Tare said in a statement.