我正面临以下情况:
网络应用程序正在调用arp_send
内核系统调用,以便发送用于解析IP地址的ARP请求。接收到ARP答复并通过netif_rx发送到内核,但是linux内核没有在其arp缓存中放置任何arp条目。
设置echo 1 > /proc/sys/net/ipv4/conf/enps025/arp_accept
后,内核将考虑ARP答复并更新其ARP缓存。
我的问题是,如何通过从用户应用程序中调用一个或多个系统调用来达到相同的结果?看来内核不信任未经请求的ARP答复。是使用icmp_send
并让内核完成其余工作的唯一方法吗?