-
Notifications
You must be signed in to change notification settings - Fork 96
OCPBUGS-54457: Drop SYNACK as well in MCS side #658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OCPBUGS-54457: Drop SYNACK as well in MCS side #658
Conversation
@tssurya: This pull request references Jira Issue OCPBUGS-54457, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
When we converted MCS block rules from iptables to nftables looks like match criteria changed a bit. Currently if a client from outside initiates a connection and pod tries to send back synack this is getting accepted by MCO(MCS metadata service) on the host instead of it going back to the client because MCS rules is NOT rejecting a SYNACK packet. old match: "tcp dport { 22623, 22624 } tcp flags syn" -> This matches TCP packets destined for ports 22623 or 22624 -> It matches packets that have only the SYN flag set -> This would not match both SYN and SYN+ACK packets because it only checks if the SYN flag is present new match: "tcp dport { 22623, 22624 } tcp flags syn / fin,rst,ack" -> This matches TCP packets destined for ports 22623 or 22624 -> The / operator is a mask that requires the SYN flag to be set AND any of the other flags from the mask (FIN, RST, ACK) to be set -> This means it will match SYN, SYN+ACK, SYN+RST, SYN+FIN Signed-off-by: Surya Seetharaman <suryaseetharaman.9@gmail.com>
/approve You'll have to create a dummy 4.17 bug in jira and then close it to appease the bot and get |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: danwinship, tssurya The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/jira refresh |
@huiran0826: This pull request references Jira Issue OCPBUGS-54457, which is invalid:
Comment In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
/jira refresh |
@huiran0826: This pull request references Jira Issue OCPBUGS-54457, which is invalid:
Comment In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
/jira refresh |
@huiran0826: This pull request references Jira Issue OCPBUGS-54457, which is valid. The bug has been moved to the POST state. 7 validation(s) were run on this bug
Requesting review from QA contact: In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
/label cherry-pick-approved |
@tssurya: This pull request references Jira Issue OCPBUGS-54457, which is valid. 7 validation(s) were run on this bug
Requesting review from QA contact: In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
/retest-required |
/retest-required |
@tssurya: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
53fea06
into
openshift:release-4.16
@tssurya: Jira Issue OCPBUGS-54457: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-54457 has been moved to the MODIFIED state. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
[ART PR BUILD NOTIFIER] Distgit: kube-proxy |
[ART PR BUILD NOTIFIER] Distgit: ose-sdn |
Fix included in accepted release 4.16.0-0.nightly-2025-06-20-215901 |
When we converted MCS block rules from
iptables to nftables looks like match
criteria changed a bit.
Currently if a client from outside initiates
a connection and pod tries to send back synack
this is getting accepted by MCO(MCS metadata service) on the host instead of it going back to the client
because MCS rules is NOT rejecting a SYNACK packet.
old match: "tcp dport { 22623, 22624 } tcp flags syn" -> This matches TCP packets destined for ports 22623 or 22624 -> It matches packets that have only the SYN flag set -> This would not match both SYN and SYN+ACK packets because it only checks if the SYN flag is present
new match: "tcp dport { 22623, 22624 } tcp flags syn / fin,rst,ack" -> This matches TCP packets destined for ports 22623 or 22624 -> The / operator is a mask that requires the SYN flag to be set AND any of the other flags from the mask (FIN, RST, ACK) to be set -> This means it will match SYN, SYN+ACK, SYN+RST, SYN+FIN
same as https://github.com/openshift/ovn-kubernetes/pull/2240/files but for SDN