对网络方面的知识有所欠缺,光看网卡 bond 文档对与 mode 4 的机制和数据流向不太清晰
IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification.
Slave selection for outgoing traffic is done according to the transmit hash policy, which may be changed from the default simple XOR policy via the xmit_hash_policy option, documented below. Note that not all transmit policies may be 802.3ad compliant, particularly in regards to the packet mis-ordering requirements of section 43.2.4 of the 802.3ad standard. Differing peer implementations will have varying tolerances for noncompliance.
Prerequisites:
Ethtool support in the base drivers for retrieving the speed and duplex of each slave.
A switch that supports IEEE 802.3ad Dynamic link aggregation.
Most switches will require some type of configuration to enable 802.3ad mode.
这里写传出流量选择是根据传输哈希策略完成的
但是如果我使用某个 slave 网卡的 sr-iov 的 vf 发送数据还会经过哈希规则么,为什么?
1
tempdban 2018-05-16 01:17:10 +08:00 via Android
用的是什么 bond ? OVS 还是内核带的?
|
2
tempdban 2018-05-16 01:34:31 +08:00 via Android
我就当作内核提供的 bond 功能。
这个端口选举一般的网卡由软件来做,所以如果你在 vf 上配了 bond,这个 hash 是一定做的。 但是如果你 bond 配的是 pf, 用 vf 来发包,那就不会 hash。 实际上内核的 Bond 实际上就是一个网络设备驱动,当流程走到 bond 的 hard_start_xmit 时,他就 hash 一下 找到下一步实际应该发出的口,再调用对应设备的 hard_start_xmit |
3
ryd994 2018-05-16 04:59:04 +08:00 via Android
应该不经过
vf 可以是作为独立的 PCI 设备使用的 你这里的 hash 规则是软件部分 |
4
vuuv 2018-05-16 09:24:11 +08:00 via Android
lacp 是需要交换机支持的。
意思就是你配置了几个网口的 bond,则所接的交换机接口也配置了 bond。即便你用了 vf,交换机肯定不支持 vf,是视作 bond 流量还是无视处理? 如果视作 bond,那么可能从其他接口返回数据,然后就没有然后了。 以上均为个人猜测,并无实践证明。 |
5
GjriFeu OP |
6
tempdban 2018-05-16 12:09:06 +08:00 via Android
你这种情况是没有 hash 的
交换机是不是有 lacp |