ipv6: fix sin6_scope_id and socket classification for link-local addresses
- CM_V6_ANY for :: socket (matches all v6 addr classes)
- sin6_scope_id from s->netif_index (not from local_addr where :: has scope=0)
- getnameinfo in stcp_link_connect to preserve scope_id in addr string
- scope_id in cm_invite_tcp_connect, ncd_create_links, connect_create_links_v6, cm_bg_ping_to_node
uint32_tlocal_defaultroute_ip;// auto-detected IPv4 for public servers (network byte order)
uint32_tlocal_defaultroute_ip;// auto-detected IPv4 for public servers (network byte order)
uint8_tlocal_defaultroute_ip6[16];// auto-detected IPv6 for public servers
uint8_tlocal_defaultroute_ip6[16];// auto-detected IPv6 for public servers
uint8_tonly_local;// 1 = only local connections, no forwarding
uint8_tonly_local;// 1 = only local connections, no forwarding
uint32_tnetif_index;// индекс интерфейса для sin6_scope_id (0 = не задан)
structsockaddr_storageinterface_addr;// адрес интерфейса: если bind на интерфейс - его IP, если 0.0.0.0 без интерфейса - IP интерфейса через который идет default route, иначе - адрес из конфига
structsockaddr_storageinterface_addr;// адрес интерфейса: если bind на интерфейс - его IP, если 0.0.0.0 без интерфейса - IP интерфейса через который идет default route, иначе - адрес из конфига
structsockaddr_storagenat_addr;// NAT адрес (network byte order), ss_family=0 = не определён
structsockaddr_storagenat_addr;// NAT адрес (network byte order), ss_family=0 = не определён