MLAG Bond 接口的 DORMANT 状态是什么意思
问题
在 ip link show
的输出中,MLAG 下行链路 bond 接口显示为 DORMANT 状态
cumulus@switch$ ip link show bond1
222: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-v1 state UP mode DORMANT
link/ether 08:9e:01:ce:e4:13 brd ff:ff:ff:ff:ff:ff
环境
- Cumulus Linux,所有版本
说明
DORMANT 是 Linux 术语,在两种上下文中使用
- 模式类型
- 链路状态
在下面的示例中,考虑以下输出,注意 state
为 UP,而 mode
为 DORMANT
cumulus@switch$ ip link show bond1
222: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-v1 state UP mode DORMANT
link/ether 08:9e:01:ce:e4:13 brd ff:ff:ff:ff:ff:ff
模式类型
默认模式类型的名称为DEFAULT。当接口处于 DEFAULT 模式时,当满足以下条件时,接口状态转换为 UP
- 检测到链路
当接口处于 DORMANT 模式时,接口状态转换为 UP 还有其他条件。在 DORMANT 模式下,当接口满足以下两个条件时,接口状态转换为 UP
- 检测到链路
- MLAG 完成 bond 的所有设置
链路状态
在链路状态的上下文中,DORMANT 指示接口不处于传递数据包的条件,而是处于“等待”状态,等待某些外部事件。为了使接口可用于转发,它应该处于 UP 状态,如上面输出所示。
解决方案
您应该期望在 MLAG bond 下行链路的 ip link show
输出中看到 mode DORMANT
。要在这些接口上转发流量,请确保 bond 链路状态为 state UP
。
链路状态为 UP 和模式类型为 DORMANT 的示例
以下是 MLAG 接口(bond1,下行链路)的示例输出,其中一切都按设计工作。swp7 和 swp8 是 bond1 的成员
cumulus@switch$ ip link show bond1
222: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-v1 state UP mode DORMANT
link/ether 08:9e:01:ce:e4:13 brd ff:ff:ff:ff:ff:ff
cumulus@switch$ ip link show swp7
9: swp7: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP mode DEFAULT qlen 500
link/ether 08:9e:01:ce:e4:13 brd ff:ff:ff:ff:ff:ff
cumulus@switch$ ip link show swp8
10: swp8: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond1 state UP mode DEFAULT qlen 500
link/ether 08:9e:01:ce:e4:13 brd ff:ff:ff:ff:ff:ff
链路状态为 UP 和模式类型为 DEFAULT 的示例
以下是 MLAG 对等链路 (bond0) 的示例输出,其中一切都按设计工作。swp3 和 swp4 是 bond0 的成员。请注意,此对等链路处于 DEFAULT 模式而不是 DORMANT 模式,因为它不是 MLAG 下行链路 — 它是互连 MLAG 对等设备的接口。
cumulus@switch$ ip link show bond0
220: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-v1 state UP mode DEFAULT
link/ether 08:9e:01:ce:e4:0e brd ff:ff:ff:ff:ff:ff
cumulus@switch$ ip link show swp3
5: swp3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 500
link/ether 08:9e:01:ce:e4:0e brd ff:ff:ff:ff:ff:ff
cumulus@switch$ ip link show swp4
6: swp4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 500
link/ether 08:9e:01:ce:e4:0e brd ff:ff:ff:ff:ff:ff
链路状态为 DORMANT 和模式类型为 DORMANT 的示例
以下是 bond (bond2) 的示例输出,其中 swp5 是 bond2 的成员。请注意,此接口处于 DORMANT 状态,并且也处于 DORMANT 模式,因为 bond 尚未正常工作。 它不传递流量,因为 bond 处于 DORMANT 状态。
cumulus@switch$ ip link show bond2
281: bond2: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state DORMANT mode DORMANT
link/ether 08:9e:01:ce:e4:10 brd ff:ff:ff:ff:ff:ff
cumulus@switch$ ip link show swp5
7: swp5: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond2 state UP mode DEFAULT qlen 500
link/ether 08:9e:01:ce:e4:10 brd ff:ff:ff:ff:ff:ff
其他资源
有关其他阅读材料,请参阅以下资源