Hello,
Thanks for your feedback.
The ifconfig shows the interface as:
$ /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:50:56:B6:53:10
inet addr:10.49.22.20 Bcast:10.49.22.255 Mask:255.255.255.
+0
inet6 addr: fe80::250:56ff:feb6:5310/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12739003 errors:0 dropped:0 overruns:0 frame:0
TX packets:4630164 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3144021160 (2998.3 Mb) TX bytes:991348328 (945.4 M
+b)
Re/ %eth0: one has to specify in the link-local addr the interface because theoretically all interfaces could have the same addr; and I think, it is fully correct, because the perl script can connect fine and can login; but only the filetransfer does not work; I assume this is somewhere an issue in th Perl methods; if you look for the addr in the strace output, you will see, tehat the $eth0 is used in all places, but only in the last BIND not:
fgrep fe80::250:56ff:feb6:5310 tr
connect(3, {sa_family=AF_INET6, sin6_port=htons(21), inet_pton(AF_INET
+6, "fe80::250:56ff:feb6:5310", &sin6_addr), sin6_flowinfo=0, sin6_sco
+pe_id=if_nametoindex("eth0")}, 28) = -1 EINPROGRESS (Operation now in
+ progress)
connect(3, {sa_family=AF_INET6, sin6_port=htons(21), inet_pton(AF_INET
+6, "fe80::250:56ff:feb6:5310", &sin6_addr), sin6_flowinfo=0, sin6_sco
+pe_id=if_nametoindex("eth0")}, 28) = 0
getsockname(3, {sa_family=AF_INET6, sin6_port=htons(47829), inet_pton(
+AF_INET6, "fe80::250:56ff:feb6:5310", &sin6_addr), sin6_flowinfo=0, s
+in6_scope_id=if_nametoindex("eth0")}, [28]) = 0
bind(4, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "
+fe80::250:56ff:feb6:5310", &sin6_addr), sin6_flowinfo=0, sin6_scope_i
+d=0}, 28) = -1 EINVAL (Invalid argument)
Matthias
|