From Microsoft Support site:
Hey everyone, I had the same code 10 problem with Teredo Tunnel Pseudo-Interface when I connected my laptop with a public library router. Fortunately I found this solution which really worked it out! (My OS is Vista x64 SP2, but I think XP and Win7 can also follow the same solution)
1. Open command prompt with administrator credentials (Find CMD and right-click - Run as Administrator).
2. Enter netsh environment. Type "netsh" and ENTER.
3. "int teredo" and ENTER
4. "set state disabled" and ENTER.
5. Open Device Manager and uninstall "Teredo Tunneling Pseudo-Interface".
6. Open command prompt with administrator credentials once again.
7. netsh + ENTER.
8. "int ipv6" + ENTER
9. "set teredo client" + ENTER
10. Open Device Manager and Scan for new hardware.
11. Select "Show hidden devices" from the View menu. You will now see that it is present without errors with any luck.