c - 如何读取 IPv6 地址的暂定标志?

标签 c linux ipv6

我正在使用 ioctl() 系统调用 prgramtically 分配 ipv6 地址。 我想知道是否有办法,我可以找到分配的 ip 是暂定的/重复的?

谢谢。

最佳答案

Host:使用getifaddrs()枚举接口(interface)。

(edit) 看起来您需要在 getifaddrs() 之前调用 sysctl(NET_IPV6_OPT_DAD_ENABLE)

http://lwn.net/Articles/218597/

网络:发送 ICMP ping 是 DHCP 服务器使用的典型但并非万无一失的方法。

如果您正在设置 IP,则假定您正在实现一种 DHCP 形式,并且您控制该网段的所有地址。否则只需使用链接本地范围已经唯一的地址。

关于c - 如何读取 IPv6 地址的暂定标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3200623/

相关文章:

Linux 启动 init.d 文件总是失败并跟随 bash,这是怎么回事?

java - 当前连接信息 - Java

c - 编写一个函数来检查关系语句是真还是假

c++ - future 选择哪一个,c++还是python2.x/3.x

ruby-on-rails - 在 ubuntu 上以 root 身份运行的延迟作业进程

c# - IPv6:为什么更改 System.Net.IPAddress 的 ScopeId 没有反射(reflect)在 ToString() 表示中?

c - 使用 struct in6_addr 的 printf ipv6 地址和使用 u_int32_t 的 ipv4 地址

c - 链表追加最后一次不起作用

c - 通过 HTTP 请求上传文件到 Google Drive (C)

android - "CPU does not support SVM"在 Windows 上的 Android-Studio 中显示,但在 Linux 上不显示