Arp 结果标志的定义?

rai*_*inz 9 networking linux openwrt

任何人都可以为下面显示的 Arp 命令提供一些有关硬件类型的信息,以及标志的含义吗?

root@OpenWrt:~# arp -x
IP address       HW type     Flags       HW address            Mask     Device
192.168.1.67     0x1         0x0         00:00:00:00:00:00     *        eth0.2
192.168.1.115    0x1         0x0         00:00:00:00:00:00     *        eth0.2
192.168.1.1      0x1         0x2         00:1f:90:XX:XX:XX     *        eth0.2
192.168.10.199   0x1         0x2         78:31:c1:XX:XX:XX     *        br-lan
Run Code Online (Sandbox Code Playgroud)

我在 Linux 机器上查看了 Man(OpenWRT 上没有 Man),但我似乎找不到它。

我收集 0x0 表示“不完整”,但想知道其他标志可能是什么意思。

use*_*070 9

这些标志表明 mac 地址是否已获知、手动设置、发布(由请求之外的另一个节点宣布)或不完整。

我认为您必须检查您的内核源代码以找出标志的含义,或者您只需尝试一下。我的系统翻译

  • 0x0 不完整
  • 0x2 完成
  • 0x6 完成并手动设置

通过将 arp 的输出与 /proc/net/arp 进行比较来学习。

标志的定义在include/uapi/linux/if_arp.h 中给出

  • 我见过的标志是字母“C”和“M”。基于此,我假设“C”表示“完整”,“M”表示“手动”。 (2认同)