An Afghan soldier has opened fire on US troops, wounding three before being shot dead.

The incident happened after a meeting between Afghan provincial leaders and a US embassy official in the compound of the provincial governor in Jalalabad, said General Fazel Ahmad Sherzad, police chief for eastern Nangarhar province.

The Afghan soldier opened fire "right after the US official had left", he said.

The American troops immediately returned fire, killing the Afghan soldier, he added.

It is the second insider attack this year. An Afghan soldier killed three American contractors on January 29.