-
Notifications
You must be signed in to change notification settings - Fork 386
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
Fix reject loop issue and add error handling #3569
Conversation
Codecov Report
@@ Coverage Diff @@
## main #3569 +/- ##
===========================================
- Coverage 64.15% 45.52% -18.64%
===========================================
Files 278 362 +84
Lines 27833 50754 +22921
===========================================
+ Hits 17857 23105 +5248
- Misses 8061 25439 +17378
- Partials 1915 2210 +295
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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.
if there was a regression, we should add a test so that it doesn't happen again
Do you have any good ideas about how to detect the loop in the test? |
Isn't the reject loop causing the If not, you could think about unit testing this function to make sure it generates the correct Reject packets for a few interesting input PacketIns. Based on the contents of that patch, it seems the loop is caused by a bug in the function and is not related to the OVS flows. |
My bad. I'm stupid. No matter if the loop will crash the agent or not. The test client won't receive the reject response in a loop situation. Then the test will fail. |
08f86ef
to
7de9380
Compare
Added tests. |
Fixes antrea-io#3559 Skip the reject response generation when neither src nor dst are on current Node. Re-write the MAC address for `RejectPodLocal` reject type no matter AntreaIPAM is on or not. And send the packetOut directly to the dstPod instead of L3Forwarding table. Signed-off-by: wgrayson <wgrayson@vmware.com>
7de9380
to
522199e
Compare
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, one question
Signed-off-by: wgrayson <wgrayson@vmware.com>
/test-all |
/test-integration |
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
/test-e2e |
@GraysonWu looks like |
Those tests failed in apply antrea phase. I think they shouldn't be introduced by this PR. And I'm unable to reproduce it in my env. Opened PR #3590 to just run those failed tests in jenkins. Will update here after test complete. |
Tests passed when running alone. One more retry here. |
/test-e2e |
@GraysonWu could you backport this to 1.6? |
Backported to 1.6 and 1.5 |
…andling (#3601) * Fix reject loop issue and add error handling Fixes #3559 Skip the reject response generation when neither src nor dst are on current Node. Re-write the MAC address for `RejectPodLocal` reject type no matter AntreaIPAM is on or not. And send the packetOut directly to the dstPod instead of L3Forwarding table. Signed-off-by: wgrayson <wgrayson@vmware.com> * Address comments Signed-off-by: wgrayson <wgrayson@vmware.com> * Change test function parameters matching release-1.5 format Signed-off-by: wgrayson <wgrayson@vmware.com>
…andling (#3600) Fixes #3559 Skip the reject response generation when neither src nor dst are on current Node. Re-write the MAC address for `RejectPodLocal` reject type no matter AntreaIPAM is on or not. And send the packetOut directly to the dstPod instead of L3Forwarding table. Signed-off-by: wgrayson <wgrayson@vmware.com>
Fixes #3559
Skip the reject response generation when neither src nor dst are on
current Node.
Re-write the MAC address for
RejectPodLocal
reject type no matterAntreaIPAM is on or not. And send the packetOut directly to the
dstPod instead of L3Forwarding table.
Signed-off-by: wgrayson wgrayson@vmware.com