Значит ситуация такая:

есть 2 хоста с адресами:
fe80::20c:29ff:fe1e:eb7e%4 и
fe80::205:29ff:fe1e:eb7e%5

На fe80::20c:29ff:fe1e:eb7e%4 поднят echo сервер (просто скриптик питоновский), есессно он ipv6 socket(AF_INET6 … ) порт 7777

Пытаюсь делать простым виндовым методом:

telnet fe80::20c:29ff:fe1e:eb7e%4 7777

работает, принимается, отдается..

Пишу клиента на питоне

from socket import *

s = socket(AF_INET6, SOCK_STREAM)
s.connect(('fe80::20c:29ff:fe1e:eb7e%4', 7777))
Возникает ошибка:

socket.error: A socket operation was attempted to an unreachable host

подозреваю, что неправильно введен адрес, потому как если с той же машины локально натравить на этот сервер клиента по адресу ‘::1’ то все воркет.

Как вводить правильные ipv6 адреса в этом случае?

Вообще сведений в сети не нашел по этому поводу :(

Кстати вызов getaddrinfo из socket дает адрес именно в такой вот форме, что передаю в connect.

Что делать и кто виноват? (с) :)

—————

Все нашел

s.connect(('fe80::20c:29ff:fe1e:eb7e', 7777, 0, 4))

Вот так надо :)