summaryrefslogtreecommitdiff
path: root/bpf
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2023-08-04 16:56:32 +0800
committerluwenpeng <[email protected]>2023-08-08 10:55:42 +0800
commitbc39cd0706dceea2a5ea875d6c7898377024650f (patch)
tree5f6fd8983a508367fd039ccd304297a5236631bd /bpf
parente43b4954b5b75ef5dd27974073b691a68bdbf9f7 (diff)
TFE适配MRZCPD的分流算法的变更;并增加分流的调试日志v4.8.33-20230808
Diffstat (limited to 'bpf')
-rw-r--r--bpf/bpf_tun_rss_steering.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/bpf/bpf_tun_rss_steering.c b/bpf/bpf_tun_rss_steering.c
index 36b80e1..c07166a 100644
--- a/bpf/bpf_tun_rss_steering.c
+++ b/bpf/bpf_tun_rss_steering.c
@@ -328,11 +328,11 @@ static inline void select_rss_queue(struct packet *packet, struct bpf_config *co
{
packet->src_addr_hash = crc32_hash(&packet->in4_src, 4, 0);
packet->dst_addr_hash = crc32_hash(&packet->in4_dst, 4, 0);
- packet->last_hash = packet->src_addr_hash ^ packet->dst_addr_hash;
+ packet->last_hash = packet->src_addr_hash + packet->dst_addr_hash;
packet->src_port_hash = crc32_hash(&packet->src_port, 2, packet->last_hash);
packet->dst_port_hash = crc32_hash(&packet->dst_port, 2, packet->last_hash);
- packet->last_hash = packet->src_port_hash ^ packet->dst_port_hash;
+ packet->last_hash = packet->src_port_hash + packet->dst_port_hash;
packet->select_queue = packet->last_hash % bpf_config_get_queue_num(config);
}
@@ -340,7 +340,7 @@ static inline void select_rss_queue(struct packet *packet, struct bpf_config *co
{
packet->src_addr_hash = crc32_hash(&packet->in4_src, 4, 0);
packet->dst_addr_hash = crc32_hash(&packet->in4_dst, 4, 0);
- packet->last_hash = packet->src_addr_hash ^ packet->dst_addr_hash;
+ packet->last_hash = packet->src_addr_hash + packet->dst_addr_hash;
packet->select_queue = packet->last_hash % bpf_config_get_queue_num(config);
}
@@ -352,11 +352,11 @@ static inline void select_rss_queue(struct packet *packet, struct bpf_config *co
{
packet->src_addr_hash = crc32_hash(&packet->in6_src, 16, 0);
packet->dst_addr_hash = crc32_hash(&packet->in6_dst, 16, 0);
- packet->last_hash = packet->src_addr_hash ^ packet->dst_addr_hash;
+ packet->last_hash = packet->src_addr_hash + packet->dst_addr_hash;
packet->src_port_hash = crc32_hash(&packet->src_port, 2, packet->last_hash);
packet->dst_port_hash = crc32_hash(&packet->dst_port, 2, packet->last_hash);
- packet->last_hash = packet->src_port_hash ^ packet->dst_port_hash;
+ packet->last_hash = packet->src_port_hash + packet->dst_port_hash;
packet->select_queue = packet->last_hash % bpf_config_get_queue_num(config);
}
@@ -364,7 +364,7 @@ static inline void select_rss_queue(struct packet *packet, struct bpf_config *co
{
packet->src_addr_hash = crc32_hash(&packet->in6_src, 16, 0);
packet->dst_addr_hash = crc32_hash(&packet->in6_dst, 16, 0);
- packet->last_hash = packet->src_addr_hash ^ packet->dst_addr_hash;
+ packet->last_hash = packet->src_addr_hash + packet->dst_addr_hash;
packet->select_queue = packet->last_hash % bpf_config_get_queue_num(config);
}