地址解析协议 - ARP
ARP 是一种通信协议,用于发现与网络层地址关联的链路层地址,例如 MAC 地址。Cumulus Linux ARP 实现与标准 Debian Linux ARP 行为不同,因为 Cumulus Linux 是路由器和交换机的操作系统,而不是服务器。
有关 ARP 的定义,请参阅 RFC 826。
标准 Debian ARP 行为和可调 ARP 参数
Debian 具有以下五个可调 ARP 参数
arp_accept
arp_announce
arp_filter
arp_ignore
arp_notify
有关这些参数的完整描述,请参阅 Linux 文档。
标准 Debian 安装将这些 ARP 参数设置为0,使路由器尽可能广泛开放且不受限制。Linux IP 地址是设备的属性,而不是单个接口的属性。因此,您可以在一个接口上发送 ARP 请求或回复,其地址位于不同的接口上。虽然这种不受限制的行为对于服务器来说是有意义的,但它不是路由器的正常行为。路由器期望 ARP 提供的 MAC 和 IP 地址映射与物理拓扑匹配,以便 IP 地址与它们所在的接口匹配。借助这些可调 ARP 参数,Cumulus Linux 能够指定行为以匹配路由器的期望。
Cumulus Linux 中的 ARP 可调参数设置
参数 | 默认设置 | 类型 | 描述 |
---|---|---|---|
arp_accept | 0 | 布尔型 | 定义 IP 地址尚未在 ARP 表中时,免费 ARP 帧的行为
您可以在单个接口上设置 arp_accept ,这与交换机的其余部分不同(见下文)。 |
arp_announce | 2 | 整型 | 定义在 ARP 请求中从 IP 数据包发送的接口上,通告本地源 IP 地址的不同限制级别
arp_announce 为 0)发送免费 ARP 或 ARP 请求,使用任何本地源 IP 地址,并且不将 ARP 数据包的 IP 源限制为驻留在发送数据包的接口上的地址。路由器期望 IP 地址和物理网络之间存在不同的关系。相邻路由器查找 MAC 和 IP 地址以到达位于连接接口上的下一跳,以用于传输流量。通过将 arp_announce 参数设置为 2,Cumulus Linux 为每个 ARP 请求使用最佳本地地址,优先选择发送 ARP 的接口上的主地址。 |
arp_filter | 0 | 布尔型 |
conf/{all,interface}/arp_filter 中至少有一个为 TRUE,则接口的 arp_filter 为开启,否则为关闭。Cumulus Linux 使用默认的 Debian Linux arp_filter 设置 0。当多个接口驻留在同一子网中时,交换机使用 arp_filter ,并允许某些接口响应 ARP 请求。对于具有 IP 未编号接口的 OSPF,多个接口出现在同一子网中并包含相同的地址。如果您在路由器对之间使用多个接口并将 arp_filter 设置为 1,则转发可能会失败。arp_filter 参数允许在子网中的任何接口上进行响应,而 arp_ignore 设置(如下所示)限制了跨接口 ARP 行为。 |
arp_ignore | 1 | 整型 | 定义在响应接收到的 ARP 请求时发送回复的不同模式,这些请求解析本地目标 IP 地址
conf/{all,interface}/arp_ignore 的最大值。默认的 arp_ignore 设置 1 允许设备回复任何接口上任何 IP 地址的 ARP 请求。虽然这符合 IP 地址属于设备而不是接口的预期,但它可能会在路由器上引起一些意外行为。例如,如果 arp_ignore 为 0,并且交换机在一个接口上接收到 ARP 请求,该请求针对驻留在不同接口上的 IP 地址,即使目标地址的接口已关闭,交换机也会回复 ARP 回复。这可能会导致流量丢失,因为交换机不知道它是否可以到达下一跳,并导致故障排除失败情况的挑战。如果您将 arp_ignore 设置为 2,则仅当目标 IP 地址是本地地址且发送者和目标 IP 地址都是传入接口上同一子网的一部分时,交换机才回复 ARP 请求。当对等设备从不在连接子网上的源 IP 地址发送 ARP 请求时,路由器不会创建过时的邻居条目。最终,交换机向主机发送 ARP 请求,以尝试保持条目新鲜。如果主机响应,则交换机现在具有针对不在连接子网上的主机的可达邻居条目。 |
arp_notify | 1 | 布尔型 | 定义通知地址和设备更改的模式。
arp_notify 设置是在接口启动或硬件地址更改时保持静默。由于 Cumulus Linux 通常充当多个终端主机的下一跳,因此当接口启动或地址更改时,它会通知连接的设备,这加快了新信息的收敛,并为更改提供了最快速的支持。 |
更改可调 ARP 参数
您可以在多个位置更改 ARP 参数设置,包括
/proc/sys/net/ipv4/conf/all/arp*
(所有接口)/proc/sys/net/ipv4/conf/default/arp*
(未来接口的默认值)/proc/sys/net/ipv4/conf/swp*/arp*
(单个接口)
Cumulus Linux 中的 ARP 参数更改使用默认文件位置。
all 和 default 位置听起来相似,但它们以不同的方式运行。all 位置可能更改当前和未来运行 IP 的所有接口的值。all 值使用 MAX 或 OR 逻辑在 all 和任何端口特定设置之间应用于每个参数,如下表所示
ARP 参数 | 条件 |
---|---|
arp_accept | 或 |
arp_announce | 最大值 |
arp_filter | 或 |
arp_ignore | 最大值 |
arp_notify | 最大值 |
例如,如果您将 /proc/sys/net/conf/all/arp_ignore
值设置为 1,并将 /proc/sys/net/conf/swp1/arp_ignore
值设置为 0 以尝试在每个端口的基础上禁用它,则接口 swp1 仍然使用值 1;端口特定设置不会覆盖全局 all 设置。相反,all 值和端口特定值之间的 MAX 值定义了实际行为。
default 位置 /proc/sys/net/ipv4/conf/default/arp*
定义了所有未来 IP 接口的值。更改 ARP 参数的 default 设置不会影响已具有 IP 地址的接口。如果您对已分配 IP 地址的正在运行的系统进行更改,请改用端口特定设置。
Cumulus Linux 将 default 参数的值复制到每个端口特定位置,不包括那些已具有 IP 地址的位置。default 设置和端口特定设置之间没有复杂的逻辑(与 all 位置不同)。
要确定每个位置的当前 ARP 参数设置,请运行以下命令
cumulus@switch:~$ sudo grep . /proc/sys/net/ipv4/conf/all/arp*
/proc/sys/net/ipv4/conf/all/arp_accept:0
/proc/sys/net/ipv4/conf/all/arp_announce:0
/proc/sys/net/ipv4/conf/all/arp_filter:0
/proc/sys/net/ipv4/conf/all/arp_ignore:0
/proc/sys/net/ipv4/conf/all/arp_notify:1
cumulus@switch:~$ sudo grep . /proc/sys/net/ipv4/conf/default/arp*
/proc/sys/net/ipv4/conf/default/arp_accept:0
/proc/sys/net/ipv4/conf/default/arp_announce:2
/proc/sys/net/ipv4/conf/default/arp_filter:0
/proc/sys/net/ipv4/conf/default/arp_ignore:1
/proc/sys/net/ipv4/conf/default/arp_notify:1
cumulus@switch:~$ sudo grep . /proc/sys/net/ipv4/conf/swp1/arp*
/proc/sys/net/ipv4/conf/swp1/arp_accept:0
/proc/sys/net/ipv4/conf/swp1/arp_announce:2
/proc/sys/net/ipv4/conf/swp1/arp_filter:0
/proc/sys/net/ipv4/conf/swp1/arp_ignore:1
/proc/sys/net/ipv4/conf/swp1/arp_notify:1
Cumulus Linux 在启动时使用以下位置的 arp.conf
文件实现此更改
cumulus@switch:~$ cat /etc/sysctl.d/arp.conf
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.all.arp_notify = 1
net.ipv4.conf.default.arp_notify = 1
net.ipv4.conf.default.arp_ignore=1
更改端口特定的 ARP 参数
要在正在运行的设备中配置端口特定的 ARP 参数,请运行以下命令
cumulus@switch:~$ sudo sh -c "echo 0 > /proc/sys/net/ipv4/conf/swp1/arp_ignore"
cumulus@switch:~$ sudo grep . /proc/sys/net/ipv4/conf/swp1/arp*
/proc/sys/net/ipv4/conf/swp1/arp_accept:0
/proc/sys/net/ipv4/conf/swp1/arp_announce:2
/proc/sys/net/ipv4/conf/swp1/arp_filter:0
/proc/sys/net/ipv4/conf/swp1/arp_ignore:0
/proc/sys/net/ipv4/conf/swp1/arp_notify:1
要使更改在重启后仍然保留,请编辑 /etc/sysctl.d/arp.conf
文件并添加您的端口特定的 ARP 设置。
配置代理 ARP
当您启用代理 ARP 时,如果交换机收到 ARP 请求,并且它具有到达目标 IP 地址的路由,则交换机将发送包含自身 MAC 地址的代理 ARP 回复。发送 ARP 请求的主机随后将其数据包发送到交换机,交换机将数据包转发到预期主机。
代理 ARP 仅适用于 IPv4;ARP 是仅 IPv4 协议。
以下示例命令在 swp1 上启用代理 ARP。
编辑 /etc/network/interfaces
文件以在接口节中将 /proc/sys/net/ipv4/conf/<interface>/proxy_arp
设置为 1
,然后运行 ifreload -a
命令。
cumulus@switch:~$ sudo nano /etc/network/interfaces
...
auto swp1
iface swp1
post-up echo 1 > /proc/sys/net/ipv4/conf/swp1/proxy_arp
...
cumulus@switch:~$ sudo ifreload -a
如果您在同一广播域中运行两个接口(通常在使用 VRR 时看到,这会在同一广播域中创建一个 -v0
接口),请在基本 SVI 接口和 -v0 接口上将 /proc/sys/net/ipv4/conf/<INTERFACE>/medium_id
设置为 2。在这种情况下,当收到 ARP 请求时,只有两个接口中的一个会回复。这可以防止 v0 接口代表 SVI 进行代理回复(以及 SVI 代表 v0 接口进行代理回复)。仅当 ARP 请求直接针对 SVI 或 v0 接口时,您才能阻止重复回复。
编辑 /etc/network/interfaces
文件,然后运行 ifreload -a
命令。例如
cumulus@switch:~$ sudo nano /etc/network/interfaces
...
auto swp1
iface swp1
post-up echo 1 > /proc/sys/net/ipv4/conf/swp1/proxy_arp
post-up echo 2 > /proc/sys/net/ipv4/conf/swp1/medium_id
auto swp1-v0
iface swp1-v0
post-up echo 1 > /proc/sys/net/ipv4/conf/swp1-v0/proxy_arp
post-up echo 2 > /proc/sys/net/ipv4/conf/swp1-v0/medium_id
...
cumulus@switch:~$ sudo ifreload -a
如果您在 VRR 接口上运行代理 ARP,请向 VRR 接口节添加一个 post-up 行,类似于以下内容。例如,如果 vlan100 是上述配置的 VRR 接口
编辑 /etc/network/interfaces
文件,然后运行 ifreload -a
命令。例如
cumulus@switch:~$ sudo nano /etc/networks/interfaces
...
auto vlan100
iface vlan100
post-up echo 1 > /proc/sys/net/ipv4/conf/swp1-v0/proxy_arp
post-up echo 1 > /proc/sys/net/ipv4/conf/swp1/proxy_arp
post-up echo 2 > /proc/sys/net/ipv4/conf/swp1-v0/medium_id
post-up echo 2 > /proc/sys/net/ipv4/conf/swp1/medium_id
vlan-id 100
...
cumulus@switch:~$ sudo ifreload -a
重复地址检测(Windows 主机)
在具有 ARP 和 ND 抑制的集中式 VXLAN 环境中,如果叶交换机上的 SVI 但在子网中没有 IP 地址,则 Microsoft Windows 主机上的重复地址检测过程会出现问题。例如,在纯第 2 层场景中或对于 ip-forward
选项关闭的 SVI,SVI 没有 IP 地址。neighmgrd
服务根据邻居 IP 地址上的子网匹配选择 ARP 探测的源 IP 地址。由于学习此邻居的 SVI 没有 IP 地址,因此子网匹配失败,并且 neighmgrd
使用 UNSPEC(IPv4 为 0.0.0.0)作为 ARP 探测中的源 IP 地址。
要解决此问题,请运行 neighmgrctl setsrcipv4 <ipaddress>
命令来为源指定一个非 0.0.0.0 地址;例如
cumulus@switch:~$ neighmgrctl setsrcipv4 10.1.0.2
如果您重启交换机,以上配置不会持久保存。要使更改持久应用
创建一个名为
/etc/cumulus/neighmgr.conf
的新文件,并添加setsrcipv4 <ipaddress>
选项;例如cumulus@switch:~$ sudo nano /etc/cumulus/neighmgr.conf [main] setsrcipv4: 10.1.0.2
重启
neighmgrd
服务cumulus@switch:~$ sudo systemctl restart neighmgrd
邻居基本可达时间定时器
您可以使用 NVUE nv set system global arp base-reachable-time
命令设置邻居缓存条目有效的时长。该条目至少在基本可达时间除以二和基本可达时间乘以三除以二之间的值内有效。您可以指定介于 30 秒到 2147483 秒之间的值。默认值为 auto
;NVUE 从 /etc/sysctl.d/neigh.conf
文件中派生 auto
的值。
以下示例将邻居基本可达时间定时器配置为 50 秒。
cumulus@leaf01:~$ nv set system global arp base-reachable-time 50
cumulus@leaf01:~$ nv config apply
要将邻居基本可达时间定时器重置为默认设置,请运行 nv unset system global arp base-reachable-time
命令。
NVIDIA 建议您运行 NVUE 命令来更改邻居基本可达时间定时器,而不是手动修改 /etc/sysctl.d/neigh.conf
文件。
要显示邻居基本可达时间定时器设置,请运行 nv show system global arp
命令
cumulus@leaf02:mgmt:~$ nv show system global arp
operational applied
---------------------------- ----------- -------
base-reachable-time 50 50
garbage-collection-threshold
effective 35840
maximum 40960
minimum 128
ARP 刷新
Cumulus Linux 不像终端系统彼此交互那样直接与终端系统交互。因此,在 ARP 将邻居置于可达状态后,如果 Cumulus Linux 在足够长的时间内不再与客户端交互,则邻居可能会进入陈旧状态。为了保持邻居处于可达状态,Cumulus Linux 包含一个后台进程 (/usr/bin/neighmgrd
)。后台进程可以跟踪进入陈旧、延迟或探测状态的邻居,并尝试刷新它们的状态,然后再将它们从 Linux 内核和硬件转发中删除。如果您希望 neighmgrd
进程在 ARP 数据包中的发送者 IP 地址位于 SVI 子网之一中时添加邻居,请创建 /etc/cumulus/neighmgr.conf
文件,并在 [snooper]
标头下添加 subnet_checks=1
参数。默认情况下,subnet_checks
选项设置为 0(禁用),以便 neighmgrd
允许 SVI 处理网络外的邻居。
ARP 刷新定时器默认为 1080 秒(18 分钟)。
cumulus@leaf02:mgmt:~$ sudo nano /etc/cumulus/neighmgr.conf
[snooper]
subnet_checks=1
添加静态 ARP 表条目
您可以添加静态 ARP 表条目以便于管理或作为一种安全措施来防止欺骗和其他恶意活动。
要为具有与 MAC 地址关联的 IPv4 地址的接口创建静态 ARP 条目,请运行 nv set interface <interface> neighbor ipv4 <ip-address> lladdr <mac-address>
命令。
cumulus@leaf01:mgmt:~$ nv set interface swp51 neighbor ipv4 10.5.5.51 lladdr 00:00:5E:00:53:51
cumulus@leaf01:mgmt:~$ nv config apply
您还可以设置一个标志来指示邻居是路由器 (is-router
) 还是外部学习 (ext_learn
) 的,并设置邻居状态 (delay
、failed
、incomplete
、noarp
、permanent
、probe
、reachable
或 stale
)。
cumulus@leaf01:mgmt:~$ nv set interface swp51 neighbor ipv4 10.5.5.51 lladdr 00:00:5E:00:53:51 flag is-router
cumulus@leaf01:mgmt:~$ nv set interface swp51 neighbor ipv4 10.5.5.51 lladdr 00:00:5E:00:53:51 state permanent
cumulus@leaf01:mgmt:~$ nv config apply
要删除 ARP 表中的条目,请运行 nv unset interface <interface> neighbor ipv4 <ip-address>
命令
cumulus@leaf01:mgmt:~$ nv unset interface swp51 neighbor ipv4 10.5.5.51
cumulus@leaf01:mgmt:~$ nv config apply
要为具有与 MAC 地址关联的 IPv4 地址的接口创建静态 ARP 条目,请将 post-up ip neigh add <ipv4-address> lladdr <mac-address>
添加到 /etc/network/interfaces
文件的接口节中,然后运行 ifreload -a
命令
cumulus@leaf01:mgmt:~$ sudo nano /etc/network/interfaces
...
auto swp51
iface swp51
address 10.5.5.1/24
post-up ip neigh add 10.5.5.51 lladdr 00:00:5E:00:53:51 dev swp51
...
cumulus@leaf01:mgmt:~$ sudo ifreload -a
您还可以设置一个标志来指示邻居是路由器 (router
) 还是外部学习 (extern_learn
) 的,并设置邻居状态 (delay
、failed
、incomplete
、noarp
、permanent
、probe
、reachable
或 stale
)。
cumulus@leaf01:mgmt:~$ sudo nano /etc/network/interfaces
...
auto swp51
iface swp51
address 10.5.5.1/24
post-up ip neigh add 10.5.5.51 lladdr 00:00:5E:00:53:51 dev swp51 nud permanent router
...
cumulus@leaf01:mgmt:~$ sudo ifreload -a
要删除 ARP 表中的条目,请从 /etc/network/interfaces
文件的接口节中删除 post-up ip neigh add
行。
显示 ARP 表
要显示 IP 邻居表中的所有条目,请运行 nv show interface neighbor
命令或 Linux ip neighbor show
命令
cumulus@leaf01:mgmt:~$ nv show interface neighbor
Interface IP/IPV6 LLADR(MAC) State Flag
------------- ------------------------- ----------------- --------- ----------
eth0 192.168.200.251 48:b0:2d:00:00:01 stale
192.168.200.1 48:b0:2d:aa:8b:45 reachable
fe80::4ab0:2dff:fe00:1 48:b0:2d:00:00:01 reachable router
peerlink.4094 169.254.0.1 48:b0:2d:3f:69:d6 permanent
fe80::4ab0:2dff:fe3f:69d6 48:b0:2d:3f:69:d6 reachable router
swp51 169.254.0.1 48:b0:2d:a2:4c:79 permanent
fe80::4ab0:2dff:fea2:4c79 48:b0:2d:a2:4c:79 reachable router
swp52 169.254.0.1 48:b0:2d:48:f1:ae permanent
fe80::4ab0:2dff:fe48:f1ae 48:b0:2d:48:f1:ae reachable router
swp53 169.254.0.1 48:b0:2d:2d:de:93 permanent
fe80::4ab0:2dff:fe2d:de93 48:b0:2d:2d:de:93 reachable router
swp54 169.254.0.1 48:b0:2d:80:8c:21 permanent
fe80::4ab0:2dff:fe80:8c21 48:b0:2d:80:8c:21 reachable router
vlan10 10.1.10.3 44:38:39:22:01:78 permanent
10.1.10.101 48:b0:2d:a1:3f:4b reachable
10.1.10.104 48:b0:2d:1d:d7:e8 noarp |ext_learn
fe80::4ab0:2dff:fea1:3f4b 48:b0:2d:a1:3f:4b reachable
fe80::4ab0:2dff:fe1d:d7e8 48:b0:2d:1d:d7:e8 noarp |ext_learn
fe80::4638:39ff:fe22:178 44:38:39:22:01:78 permanent
vlan10-v0 10.1.10.101 48:b0:2d:a1:3f:4b stale
fe80::4ab0:2dff:fea1:3f4b 48:b0:2d:a1:3f:4b stale
fe80::4ab0:2dff:fe1d:d7e8 48:b0:2d:1d:d7:e8 stale
vlan20 10.1.20.105 48:b0:2d:75:bf:9e noarp |ext_learn
10.1.20.102 48:b0:2d:00:e9:05 reachable
10.1.20.3 44:38:39:22:01:78 permanent
fe80::4638:39ff:fe22:178 44:38:39:22:01:78 permanent
fe80::4ab0:2dff:fe75:bf9e 48:b0:2d:75:bf:9e noarp |ext_learn
fe80::4ab0:2dff:fe00:e905 48:b0:2d:00:e9:05 reachable
...
cumulus@leaf01:mgmt:~$ ip neighbor show
192.168.200.251 dev eth0 lladdr 48:b0:2d:00:00:01 STALE
10.5.5.51 dev swp51 lladdr 00:00:5e:00:53:51 router PERMANENT
192.168.200.1 dev eth0 lladdr 48:b0:2d:b1:48:ef REACHABLE
fe80::4ab0:2dff:fe00:1 dev eth0 lladdr 48:b0:2d:00:00:01 router REACHABLE
...
要仅显示 IPv4 条目,请运行 Linux ip -4 neighbor
命令
cumulus@leaf01:mgmt:~$ ip -4 neighbor
169.254.0.1 dev swp54 lladdr 48:b0:2d:80:8c:21 PERMANENT proto zebra
169.254.0.1 dev peerlink.4094 lladdr 48:b0:2d:3f:69:d6 PERMANENT proto zebra
10.10.10.3 dev vxlan48 lladdr 44:38:39:22:01:84 extern_learn NOARP proto zebra
10.10.10.64 dev vlan4024_l3 lladdr 44:38:39:22:01:7c extern_learn NOARP proto zebra
10.1.20.102 dev vlan20-v0 lladdr 48:b0:2d:00:e9:05 STALE
192.168.200.251 dev eth0 lladdr 48:b0:2d:00:00:01 STALE
10.10.10.4 dev vlan4024_l3 lladdr 44:38:39:22:01:8a extern_learn NOARP proto zebra
10.10.10.64 dev vlan4036_l3 lladdr 44:38:39:22:01:7c extern_learn NOARP proto zebra
169.254.0.1 dev swp53 lladdr 48:b0:2d:2d:de:93 PERMANENT proto zebra
10.10.10.4 dev vlan4036_l3 lladdr 44:38:39:22:01:8a extern_learn NOARP proto zebra
10.1.10.3 dev vlan10 lladdr 44:38:39:22:01:78 PERMANENT
169.254.0.1 dev swp52 lladdr 48:b0:2d:48:f1:ae PERMANENT proto zebra
10.10.10.2 dev vlan4024_l3 lladdr 44:38:39:22:01:78 extern_learn NOARP proto zebra
10.1.20.105 dev vlan20 lladdr 48:b0:2d:75:bf:9e extern_learn NOARP proto zebra
10.10.10.64 dev vxlan48 lladdr 44:38:39:22:01:7c extern_learn NOARP proto zebra
10.0.1.34 dev vxlan48 lladdr 44:38:39:be:ef:bb extern_learn NOARP proto zebra
10.10.10.2 dev vlan4036_l3 lladdr 44:38:39:22:01:78 extern_learn NOARP proto zebra
10.1.10.101 dev vlan10-v0 lladdr 48:b0:2d:a1:3f:4b STALE
10.1.10.101 dev vlan10 lladdr 48:b0:2d:a1:3f:4b REACHABLE
...
要显示特定接口的所有表条目,请运行 nv show interface <interface_id> neighbor
命令
cumulus@leaf01:mgmt:~$ nv show interface swp51 neighbor
ipv4
=========
IPV4 LLADR(MAC) State Flag
----------- ----------------- --------- ----
10.5.5.51 00:00:5e:00:53:51 permanent
169.254.0.1 48:b0:2d:a2:4c:79 permanent
ipv6
=========
IPV6 LLADR(MAC) State Flag
------------------------- ----------------- --------- ---------
fe80::4ab0:2dff:fea2:4c79 48:b0:2d:a2:4c:79 reachable is-router
要显示接口的所有 IPv4 表条目,请运行 nv show interface <interface> neighbor ipv4
命令
cumulus@leaf01:mgmt:~$ nv show interface swp1 neighbor ipv4
IPV4 LLADR(MAC) State Flag
----------- ----------------- --------- ----
10.188.52.1 00:00:5e:00:01:22 reachable
10.188.52.2 1c:34:da:e8:1d:c8 stale
要显示具有特定 IPv4 地址的接口的表条目,请运行 nv show interface <interface_id> neighbor ipv4 <ip-address>
命令。
cumulus@leaf01:mgmt:~$ nv show interface swp51 neighbor ipv4 169.254.0.1
lladdr
=========
LLADR(MAC) State Flag
----------------- --------- ----
48:b0:2d:a2:4c:79 permanent