linux 开启LACP 单端口,如何在内核级别诊断Linux LACP问题?

是否存在

Linux绑定驱动程序的基础管理或诊断接口,以确定内部发生了什么?

多年来,我一直在Linux机箱和Cisco交换机之间使用链路聚合.在设置新的方框时,我会定期遇到死胡同,而Linux方面根本不响应Cisco LACP数据包.我一丝不苟地遵循每个服务器的严格说明,但结果似乎有所不同.

无论绑定是包含一个从属还是八个,tcpdump都会在所有绑定接口上显示来自交换机的LACP数据包,并且不会传回任何数据包.实际上,没有数据包传输周期.接口的rx_packets显示相当大的流量,但tx_packets为零.关于MII或绑定的日志中没有任何有趣的内容.甚至没有任何错误.

目前,我正在处理一个只有两个nics的盒子.目前,我只有eth1在债券中.显然,这是一种退化配置.债券中eth0和eth1的情况不会发生变化;当网络堆栈完全关闭时,它使得使用机器变得更加困难.如有必要,我可以为两个nics重新配置它并通过管理界面(DRAC),但我无法通过这种方式从盒子中复制粘贴.

一些预赛:

>我测试了网络,端口和电缆.当接口未绑定时,一切都按预期工作.

>我重新启动并确认模块正确加载.

>无论是否有vlan中继,我都试过这个;它应该无关紧要,因为链接聚合发生在堆栈中的该点之下.

>交换机有工作,集群通道组到其他Linux机箱.即使Linux机器的发行版,内核和硬件不是这样,配置也或多或少相同.

这是今天下载的debian 8.6.

Linux box 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2

(2016-10-19) x86_64 GNU/Linux

缩写配置:

iface eth1 inet manual

auto bond0

iface bond0 inet manual

slaves eth1

address 10.10.10.10

netmask 255.255.255.0

bond_mode 4

bond_miimon 100

bond_downdelay 200

bond_updelay 200

bond_xmit_hash_policy layer2+3

bond_lacp_rate slow

一些州:

# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation

Transmit Hash Policy: layer2+3 (2)

MII Status: down

MII Polling Interval (ms): 100

Up Delay (ms): 200

Down Delay (ms): 200

802.3ad info

LACP rate: slow

Min links: 0

Aggregator selection policy (ad_select): stable

bond bond0 has no active aggregator

Slave Interface: eth1

MII Status: down

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 78:2b:cb:5a:2b:3e

Aggregator ID: N/A

Slave queue ID: 0

来自交换机的eth1上的入站tcpdump记录:

22:18:47.333928 M 44:ad:d9:6c:8d:8f ethertype Slow Protocols (0x8809),

length 126: LACPv1, length 110

Actor Information TLV (0x01), length 20

System 44:ad:d9:6c:8d:80, System Priority 32768, Key 12,

Port 272, Port Priority 32768

State Flags [Activity, Aggregation, Synchronization,

Collecting, Distributing, Default]

Partner Information TLV (0x02), length 20

System 00:00:00:00:00:00, System Priority 0, Key 0, Port 0,

Port Priority 0

State Flags [none]

Collector Information TLV (0x03), length 16

Max Delay 32768

Terminator TLV (0x00), length 0

思科方面:

interface GigabitEthernet1/0/15

switchport trunk allowed vlan 100,101,102

switchport mode trunk

channel-group 12 mode active

end

interface Port-channel12

switchport trunk allowed vlan 100,101,102

switchport mode trunk

end

最终,交换机放弃,接口进入“独立”模式.如果通道组中有两个接口,则它们都进入独立模式.

#show etherchannel 12 sum

Flags: I - stand-alone

Group Port-channel Protocol Ports

------+-------------+-----------+-----------

12 Po12(SD) LACP Gi1/0/15(I)

我一整天都在绞尽脑汁.我已经多次撕掉并重建思科配置.如果不是tcpdump显示LACPv1数据包到达Linux接口,我会看看思科方面.唉,Linux内核似乎完全忽略了数据包.我的下一站是内核源代码,最糟糕的情况是用于诊断的自定义内核.希望有人能够深入了解绑定驱动程序以及使其正确运行的原因.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值