The former prime minister claimed Sir Gavin vetoed an agreement he had reached with Iranian president Hassan Rouhani in 2017.