Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 - 使用源和目标 IPv4IPv6 地址。
  • l3 - 使用源和目标 IPv4IPv6 地址。
  • TCP - 使用源和目标 TCP 端口。
  • UDP - 使用源和目标 UDP 端口。
  • SCTP - 使用源和 destinationSCTP 端口。
  • l4 - 使用源和目标 TCP,以及 UDP 和SCTP 端口。
这些字符串可通过在负载平衡运行程序中添加以下格式的行来使用:
"tx_hash": ["eth", "ipv4", "ipv6"]
请参阅 第 8.13.5 节 “配置 loadbalance Runner”