Author Michael.Felt
Recipients Michael.Felt, asvetlov, eamanu, lepaperwan, maxifree, miss-islington, twisteroid ambassador, yselivanov
Date 2019-05-30.20:52:02
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <e6aa797a-b0b6-2671-5129-7d0155495f65@felt.demon.nl>
In-reply-to <1559204845.28.0.677551550717.issue35545@roundup.psfhosted.org>
Content
On 30/05/2019 10:27, Erwan Le Pape wrote:
> Erwan Le Pape <lepaperwan3@gmail.com> added the comment:
>
> Assuming similar configuration to the one in msg343430, a simple native getaddrinfo test to check whether any scope ID is returned.

The 'expanded' program ... main():

int main() {
/* local addresses */
    test("fe80::221:5eff:fea3:c746%0");
    test("fe80::221:5eff:fea3:c746%en0");
    test("fe80::f8d1:8cff:fe32:8305%2");
    test("fe80::f8d1:8cff:fe32:8305%en1");
/* remote addresses */
    test("fe80::f8d1:81ff:fe81:ac05%2");
    test("fe80::f8d1:81ff:fe81:ac05%en1");

    return 0;
}

The conclusion seems to be that the scopeid returned is always 0 - when
it is working;
The status is always "8", when it fails.

This seems to be:
#define EAI_NONAME      8       /* hostname nor servname not provided,
or not known */

So, %enX is not recognized - only a numerical scope.

+++ Details +++

On the first server - added two addresses - they are local to platform.

root@x066:[/data/prj/aixtools/tests/tcpip/socket]cc -g ex03.c -o ex03
root@x066:[/data/prj/aixtools/tests/tcpip/socket]./ex03
getaddrinfo(fe80::221:5eff:fea3:c746%en0) returned 8
getaddrinfo(fe80::f8d1:8cff:fe32:8305%en1) returned 8
getaddrinfo(fe80::f8d1:81ff:fe81:ac05%en1) returned 8
root@x066:[/data/prj/aixtools/tests/tcpip/socket]netstat -ni
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
en0   1500  link#2      0.21.5e.a3.c7.46  1496455     0  1214300     0     0
en0   1500  192.168.129 192.168.129.66    1496455     0  1214300     0     0
en0   1500  fe80::221:5eff:fea3:c746      1496455     0  1214300     0     0
en1   65390 link#3      fa.d1.8c.32.83.5     4041     0       34     0     0
en1   65390 fe80::f8d1:8cff:fe32:8305%2      4041     0       34     0     0
lo0   16896 link#1                         160253     0   160252     0     0
lo0   16896 127         127.0.0.1          160253     0   160252     0     0
lo0   16896 ::1%1                          160253     0   160252     0     0
root@x066:[/data/prj/aixtools/tests/tcpip/socket]oslevel -s
6100-07-07-1316
+++ Note +++ the 5th field says below (-), equal (=), or exceeded (+)
 - so on this server they are equal, on the AIX 7.1 TL4 - exceeded.
root@x066:[/data/prj/aixtools/tests/tcpip/socket]instfix -ciqk IV52116
IV52116:bos.64bit:6.1.7.21:6.1.7.21:=:GETADDRINFO AND INET_PTON CANNOT
HANDLE IPV6 SCOPE/ZONE
IV52116:bos.rte.control:6.1.7.21:6.1.7.21:=:GETADDRINFO AND INET_PTON
CANNOT HANDLE IPV6 SCOPE/ZONE
IV52116:bos.rte.libc:6.1.7.21:6.1.7.21:=:GETADDRINFO AND INET_PTON
CANNOT HANDLE IPV6 SCOPE/ZONE
IV52116:bos.rte.shell:6.1.7.22:6.1.7.22:=:GETADDRINFO AND INET_PTON
CANNOT HANDLE IPV6 SCOPE/ZONE
IV52116:mcr.rte:6.1.7.21:6.1.7.21:=:GETADDRINFO AND INET_PTON CANNOT
HANDLE IPV6 SCOPE/ZONE

On a second server (all addresses are 'remote now')
root@x064:[/data/prj/aixtools/tests/tcpip/socket]netstat -ni
Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
en0   1500  link#2      0.21.5e.a3.c7.44   765518     0   792062     0     0
en0   1500  192.168.129 192.168.129.64     765518     0   792062     0     0
en0   1500  fe80::221:5eff:fea3:c744       765518     0   792062     0     0
en1   1500  link#3      fa.d1.81.81.ac.5   773516     0   422335     0     0
en1   1500  192.168.2   192.168.2.64       773516     0   422335     0     0
en1   1500  fe80::f8d1:81ff:fe81:ac05%2    773516     0   422335     0     0
lo0   16896 link#1                         410599     0   410596     0     0
lo0   16896 127         127.0.0.1          410599     0   410596     0     0
lo0   16896 ::1%1                          410599     0   410596     0     0

root@x064:[/data/prj/aixtools/tests/tcpip/socket]./ex03
getaddrinfo(fe80::221:5eff:fea3:c746%en0) returned 8
gai_strerror:Hostname and service name not provided or found
getaddrinfo(fe80::f8d1:8cff:fe32:8305%en1) returned 8
gai_strerror:Hostname and service name not provided or found
getaddrinfo(fe80::f8d1:81ff:fe81:ac05%en1) returned 8
gai_strerror:Hostname and service name not provided or found

root@x064:[/data/prj/aixtools/tests/tcpip/socket]oslevel -s
7100-04-06-1806
root@x064:[/data/prj/aixtools/tests/tcpip/socket]instfix -ciqk IV53671
IV53671:bos.64bit:7.1.3.15:7.1.4.33:+:getaddrinfo cannot handle IPv6
scope/zone
IV53671:bos.rte.control:7.1.3.15:7.1.4.33:+:getaddrinfo cannot handle
IPv6 scope/zone
IV53671:bos.rte.libc:7.1.3.15:7.1.4.33:+:getaddrinfo cannot handle IPv6
scope/zone
IV53671:bos.rte.shell:7.1.3.15:7.1.4.33:+:getaddrinfo cannot handle IPv6
scope/zone
IV53671:mcr.rte:7.1.3.15:7.1.4.33:+:getaddrinfo cannot handle IPv6
scope/zone

And a server with the bug - i.e., not fixed:
root@x065:[/data/prj/aixtools/tests/tcpip/socket]./ex03
getaddrinfo(fe80::221:5eff:fea3:c746%0) returned 8
getaddrinfo(fe80::221:5eff:fea3:c746%en0) returned 8
getaddrinfo(fe80::f8d1:8cff:fe32:8305%2) returned 8
getaddrinfo(fe80::f8d1:8cff:fe32:8305%en1) returned 8
getaddrinfo(fe80::f8d1:81ff:fe81:ac05%2) returned 8
getaddrinfo(fe80::f8d1:81ff:fe81:ac05%en1) returned 8
root@x065:[/data/prj/aixtools/tests/tcpip/socket]oslevel -s
5300-07-00-0000

*** In closing ***
Maybe AIX needs "hints" to reveal the scopeid. There is a lot of 'talk'
about that
in the man page. I can attach that in a new email if you do not have that.

Regards,
Michael
History
Date User Action Args
2019-05-30 20:52:03Michael.Feltsetrecipients: + Michael.Felt, asvetlov, yselivanov, lepaperwan, eamanu, twisteroid ambassador, miss-islington, maxifree
2019-05-30 20:52:03Michael.Feltlinkissue35545 messages
2019-05-30 20:52:02Michael.Feltcreate