Set IPv6 address on the interface

Grigory Klyuchnikov grn at ispras.ru
Thu Oct 14 01:10:50 PDT 2004


Hello,

I'd like to set an IPv6 address to the ethernet interface from a user 
process,
but I don't understand which system call may be used. For getting 
information
about interfaces and addresses there are some methods: ioctl (with 
SIOCGIFCONF),
sysctl (witch NET_RT_IFLIST), AF_ROUTE socket, getifaddrs(). I've tried 
ioctl()
and sysctl() for this purpose. For setting an IPv4 addreess to the 
interface there is
ioctl() with  SIOCSIFADDR. How set an IPv6 address? There is SIOCSIFADDR_IN6
for setting address, but it doesen't work as say the comment in in6.c. 
And there are two
commands  SIOCDIFADDR_IN6 and SIOCAIFADDR_IN6, delete/add address
accordingly, but I've got error: Invalid argument. Or I don't know how 
use them.

My questions:
1) How can I set an IPv6 on the ethernet interface?
2) How can I get IPv6 multicast addresses from each interface?

If anyone knows something about, please, give me an answer or reference 
to it.

Best regards,
Grigory Klyuchnikov.




More information about the freebsd-questions mailing list