我正在寻找一种以编程方式在内核邻居缓存中查找条目的方法,以确定是否在内核邻居缓存中缓存了某个IPv6地址。
借助IPv4和ARP缓存,可以使用各种ioctl
调用(例如SIOCGARP
来完成),以使用IP地址作为关键字在ARP缓存中查找条目。
我正在尝试为IPv6邻居缓存找到类似的机制。 IPv6使用NDP(邻居发现协议)代替ARP,因此缓存有所不同。
我知道我可以做类似解析ip -6 neigh
的输出的操作,但是我正在专门寻找一个C API以直接与内核邻居缓存交互,这将允许我按IP地址查找条目,类似于我使用ioctl
命令与ARP缓存进行交互的方式。
四处搜寻,我找不到任何办法。是否可以查询内核以在IPv6邻居缓存中查找条目?