LACP 可以在 Linux 隧道设备上运行吗?

LACP 可以在 Linux 隧道设备上运行吗?

我正在寻找一种方法来了解隧道设备是启动还是关闭,而无需自己使用 ping。每个隧道设备(gre、ipip、l2tp、geneve 等)都没有逻辑机制来决定隧道是启动还是关闭,它由 ip 命令确定。也许 IPSec 可以做到这一点(因为您可以查看 IPSec 的状态),但这比我想要做的要多。

为了解决这种情况,我考虑在隧道设备上使用 lacp(绑定,模式 802.3ad),但是在将绑定接口配置为 geneve 设备的主设备后,我看不到 geneve 上的任何 LACP 对话(无论是在统计数据中还是使用 tcpdump)。这可能会因为 geneve 没有公布速度或双工而变得复杂——我预计其他隧道也会如此?

问题似乎是,除了“tun”之外,没有任何作为隧道的虚拟网络设备宣传“速度”?

答案1

我读了很多资料并做了大量测试。答案是没有——有点。要使 LACP 正常工作,使用它的链路必须公布链路速度。对于 Linux 中的“虚拟”网络接口,只有 tun 驱动程序可以做到这一点,并且它公布的链路速度为 10Mbps。

我已经打开了一个 Linux 错误,以便忽略此错误: https://bugzilla.kernel.org/show_bug.cgi?id=213821

简而言之,答案是,如果“ethtool”没有显示网络接口的链接速度,那么您就无法在其上使用 LACP。

相关内容