diff mbox series

[ovs-dev] ignore l4_hash

Message ID tencent_DEAEC17D718B1A0928CA959CAD113E724105@qq.com
State Rejected
Headers show
Series [ovs-dev] ignore l4_hash | expand

Checks

Context Check Description
ovsrobot/apply-robot warning apply and check: warning
ovsrobot/github-robot-_Build_and_Test success github build: passed

Commit Message

grimlock.lw Jan. 6, 2022, 1:20 a.m. UTC
From: "grimlock.lw" <realbaseball2008@gmail.com>

When Recving tcp stream form LOCAL port, and flows have a dp_hash group, linux call skb_set_hash_from_sk to set skb->hash and skb->l4_hash, ovs use skb->hash to select group bucket.
When tcp retransmission occurs,linux call sk_rethink_txhash to rehash skb->hash of retransmission packet, so the retransmission packet will select a different bucket than the original package.
ovs should ignore l4_hash,and call __skb_get_hash to get hash
---
 datapath/actions.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/datapath/actions.c b/datapath/actions.c
index fbf445703..381037c05 100644
--- a/datapath/actions.c
+++ b/datapath/actions.c
@@ -1100,6 +1100,7 @@  static void execute_hash(struct sk_buff *skb, struct sw_flow_key *key,
 	u32 hash = 0;
 
 	/* OVS_HASH_ALG_L4 is the only possible hash algorithm.  */
+	skb->l4_hash = 0;
 	hash = skb_get_hash(skb);
 	hash = jhash_1word(hash, hash_act->hash_basis);
 	if (!hash)