Works with /64 removed and -I specified. The /64 refers to the number of bits in the mask and shouldn't be used in ping.
$ ping6 -c 1 -I enp0s25 fe80::ba94:3d5e:9929:4c6e
PING fe80::ba94:3d5e:9929:4c6e(fe80::ba94:3d5e:9929:4c6e) from fe80::ba94:3d5e:9929:4c6e enp0s25: 56 data bytes
64 bytes from fe80::ba94:3d5e:9929:4c6e: icmp_seq=1 ttl=64 time=0.043 ms
The local interface argument -I can be specified in the address instead by appending %
and the interface name:
$ ping6 fe80::ba94:3d5e:9929:4c6e%enp0s25
PING fe80::ba94:3d5e:9929:4c6e%enp0s25(fe80::ba94:3d5e:9929:4c6e) 56 data bytes
64 bytes from fe80::ba94:3d5e:9929:4c6e: icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from fe80::ba94:3d5e:9929:4c6e: icmp_seq=2 ttl=64 time=0.059 ms
...
These combinations don't work:
$ ping6 -c 1 -I enp0s25 fe80::ba94:3d5e:9929:4c6e/64
unknown host
or
$ ping6 fe80::ba94:3d5e:9929:4c6e
connect: Invalid argument
ifconfig
is deprecated. You want to useip address
orip a
instead.