Fix OVS connection tracking in networkpolicy plugin #12837
Merged
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.
In a last-minute attempt to get Services mostly-working before submitting the original NetworkPolicy PR, I ended up breaking almost everything else. This fixes it again.
(The difference between
actions=ct(commit),goto_table:81
and the fixedactions=ct(commit,table=81)
is that former ensures that the packet is tracked but then continues in table 81 with the original (unset) value ofct_state
, while the latter ensures that the packet is tracked and then continues in table 81 withct_state
having been filled in from conntrack. In particular, this fixes it so that when a reply comes to a pod-to-pod connection, thect_state=+trk+est
rule will match and accept it regardless of other policies. So without the fix, any test where a pod has to send a reply to a pod it would otherwise be unable to talk to will fail.)Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1419393 and https://bugzilla.redhat.com/show_bug.cgi?id=1419469
@openshift/networking PTAL