-
Notifications
You must be signed in to change notification settings - Fork 29
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-36735: Wait for carrier before announcing IPs via GARP/NA #112
OCPBUGS-36735: Wait for carrier before announcing IPs via GARP/NA #112
Conversation
Hi @thom311. Thanks for your PR. I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
please use a merge commit instead. |
Discussed offline and this is not a sync. It's a bugfix. Please rename the PR name to OCPBUGS-30549: ... |
@thom311: This pull request references Jira Issue OCPBUGS-30549, 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. |
/retitle OCPBUGS-36735: Wait for carrier before announcing IPs via GARP/NA |
@thom311: This pull request references Jira Issue OCPBUGS-36735, 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. |
/jira refresh |
@zhaozhanqi: This pull request references Jira Issue OCPBUGS-36735, 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 |
@zhaozhanqi: This pull request references Jira Issue OCPBUGS-36735, 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 |
@zhaozhanqi: This pull request references Jira Issue OCPBUGS-36735, 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. |
fa19d63
to
4c8f82e
Compare
/jira refresh |
@thom311: This pull request references Jira Issue OCPBUGS-36735, 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 |
Signed-off-by: Thomas Haller <[email protected]>
Signed-off-by: Thomas Haller <[email protected]>
Previously, we called AnnounceIPs() right after configuring the interface. At that point, the interface was just recently set IFF_UP, and it might not yet have carrier. In that case, the messages will be lost. We will need to wait a bit for carrier. Since AnnounceIPs() is an optional performance improvement, let's first do all the important things. Move the non-critical call to the end. This will be interesting next, when we will do some additional waiting for the device to have carrier. Let's not do the waiting in the middle of the critical operations, but only at the end. Signed-off-by: Thomas Haller <[email protected]>
After setting up the interface, it might take a bit for kernel to detect carrier. If we then already send the GARP/NA packets, they are lost. Instead, wait for up to 200 msec for the interface to get carrier. This time is chosen somewhat arbitrarily. We don't want to block the process too long, but we also need to wait long enough, that kernel and driver has time to detect carrier. Also, while busy waiting, sleep with an exponential back-off time (growth factor 1.5). Fixes: c241dcb ('Send IPv4 GARP and IPv6 Unsolicited NA in "cmdAdd"') See-also: https://issues.redhat.com/browse/OCPBUGS-30549 Signed-off-by: Thomas Haller <[email protected]>
Co-authored-by: Thomas Haller <[email protected]> Signed-off-by: Thomas Haller <[email protected]>
In the case where the Gratuitous ARPs send function failed we failed the all CNI create and revert the configuration Signed-off-by: Sebastian Sch <[email protected]>
4c8f82e
to
43c8bcc
Compare
@thom311: This pull request references Jira Issue OCPBUGS-36735, 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. |
lets wait for k8snetworkplumbingwg/sriov-cni#307 to be on master and we can merge it here also |
One concern is that 307 enables optimistic DAD on the interface. I think that is the right thing to do, but it seems quite a large change (with potentially unknown consequences) for a "release-4.16" branch. Also, IPv6 is probably less important to warrant a backport. But I don't mind. As you prefer. Setting back to Draft. |
@SchSeba hi. With #112 (comment) , I think this backport should not include k8snetworkplumbingwg/sriov-cni#307, because that enables optimistic DAD for IPv6. That is a relatively new change, possibly wide-ranging, and I think it should spend some time on I would un-Draft this PR and I think it's good as-is. The branch only contains cherry-picks from origin/master branch (without manual changes). |
@thom311: all tests passed! 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve
/hold cancel
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: SchSeba, thom311, wizhaoredhat 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 |
d61383f
into
openshift:release-4.16
@thom311: Jira Issue OCPBUGS-36735: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-36735 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: sriov-cni |
This is a backport of k8snetworkplumbingwg/sriov-cni#301 to
release-4.16
branch to fix OCPBUGS-30549. The 4.16.z issue is OCPBUGS-36735Those upstream patches are already on latest
master
(release-4.17
).The patches were cherry-picked without manual modifications or conflicts in git.
It also contains a backport of 2f64420 , from k8snetworkplumbingwg/sriov-cni@2f64420