Get multicast addresses from interface
Brooks Davis
brooks at one-eyed-alien.net
Thu Oct 14 08:00:50 PDT 2004
On Thu, Oct 14, 2004 at 05:44:57PM +0400, Grigory Klyuchnikov wrote:
> Hello,
>
> How can a user process get IPv6 multicast addresses of ethernet
> interfaces? I have FreeBSD 5.2.1 and get interface addresses
> via ioctl(SIOCGIFCONF) or sysctl(witch NET_RT_IFLIST),
> but all returned addresses are unicast.
getifaddrs(3) and getifmaddrs(3) may do what you want.
> In net/if.h there is a struct ifma_msghdr:
>
> /*
> * Message format for use in obtaining information about multicast addresses
> * from the routing socket
> */
> struct ifma_msghdr {
> u_short ifmam_msglen; /* to skip over non-understood messages */
> u_char ifmam_version; /* future binary compatibility */
> u_char ifmam_type; /* message type */
> int ifmam_addrs; /* like rtm_addrs */
> int ifmam_flags; /* value of ifa_flags */
> u_short ifmam_index; /* index for associated ifp */
> };
>
>
> How it may be used?
In addition to the functions above, you can directly access these
structures via sysctl (see src/lib/libc/net/getifmaddrs.c for an
example).
-- Brooks
--
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20041014/a0249f89/attachment.bin
More information about the freebsd-net
mailing list