8.13.9. 配置基于 BPF 的 Tx Port Selectors
loadbalance 和 LACP 运行程序使用数据包的哈希来排序网络流量。哈希计算机制基于 Berkeley Packet Filter(BPF )代码。BPF 代码用于生成哈希值,而不是对传出数据包做出策略决策。哈希长度为 8 位,给出 256 个变体。这意味着,许多不同的套接字缓冲区 (SKB)可以具有相同的哈希值,因此流量通过同一链接传递。使用简短哈希是一种将流量划分到不同流的快速方法,以满足在多个链接之间进行负载平衡的目的。在静态模式中,哈希仅用于决定流量应发送的端口。在活动模式下,运行程序将持续将哈希重新分配给不同的端口,以尽力达到完美平衡。
以下片段类型或字符串可用于数据包 Tx 哈希计算:
eth
- 使用源和目标 MAC 地址。VLAN
- 使用 VLAN ID。ipv4
- 使用源和目标IPv4
地址。ipv6
- 使用源和目标IPv6
地址。ip
- 使用源和目标IPv4
和IPv6
地址。l3
- 使用源和目标IPv4
和IPv6
地址。TCP
- 使用源和目标TCP
端口。UDP
- 使用源和目标UDP
端口。SCTP -
使用源和destinationSCTP
端口。l4
- 使用源和目标TCP
,以及UDP
和SCTP
端口。
这些字符串可通过在负载平衡运行程序中添加以下格式的行来使用:
"tx_hash": ["eth", "ipv4", "ipv6"]请参阅 第 8.13.5 节 “配置 loadbalance Runner”。