A Bola reports that Zenit have reached an agreement ‘in principle’ with Porto.
Zenit will pay €23million for Brun Alves, despite Porto previously demanding €30million for the defender.
Real Madrid have previously been linked with a move for the Portuguese international.