cni-server: clear iptables mark before doing masquerade #2919
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What type of this PR
Which issue(s) this PR fixes:
Fixes bad checksum while accessing pods running on other nodes via service:
WHAT
🤖 Generated by Copilot at bb1b85e
Add a new iptables chain for node port service traffic with local external policy. Refactor some iptables functions and rules in
gateway_linux.go
.🤖 Generated by Copilot at bb1b85e
HOW
🤖 Generated by Copilot at bb1b85e
OvnNodePort
to handle node port service traffic with external traffic policy set to Local (link, link, link, link, link, link, link, link)createIptablesChain
fromupdateIptablesChain
to simplify the logic of ensuring the iptables chain exists (link)updateIptablesChain
to usecreateIptablesChain
for both the chain and its parent chain, and return early if the chain already exists (link)err
inupdateIptablesChain
(link)--random-fully
option to the MASQUERADE rules if the iptables version supports it, which improves the performance and reduces the risk of port exhaustion (link, link)