Лучше char*, т.к. это во-первых универсальнее (можно подключить вашу либу к любому языку, который умеет в сишные либы), а во-2, как сказано выше, реализация std::string отличается у разных компиляторов.
gogonet загуглите. Возможно, придется собрать пакет из исходников. Вместо radvd ЕМНИП используется DHCPv6.
Teredo дает 1 адрес на одного клиента, поэтому не подходит для раздачи в сеть.