Bug 1987445: Fix gateway routers answer ARP/NDP requests for LoadBalancer/ExternalIP services#793
Conversation
Currently address resolution requests (ARP/Neighbor solicitation) for LoadBalancer/External IPs are answered by all of the gateway routers in the cluster. By forwarding these requests to the local port, a network load balancer implementation like MetalLB is able to be the only one replying to them - thus enabling it to be the only one announcing a specific LoadBalancer service IP. Signed-off-by: Ori Braunshtein <obraunsh@redhat.com>
|
@oribon: This pull request references Bugzilla bug 1987445, which is invalid:
Comment DetailsIn 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 kubernetes/test-infra repository. |
|
/bugzilla refresh |
|
@oribon: This pull request references Bugzilla bug 1987445, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
Requesting review from QA contact: DetailsIn 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 kubernetes/test-infra repository. |
load-balancers in addition to the node local IP for ExternalIP. ARP requests or IPv6 NS would receive <node number + 1> replies. This fix stops ARP requests and IPv6 NS for ExternalIPs from entering the OVN dataplane. Only the node with the actual local IP will now answer to the NS or ARP request. Signed-off-by: Andreas Karis <ak.karis@gmail.com>
Flow generation for LB and ExternalIP flow is essentially the same, so avoid code duplication with method createLbAndExternalSvcFlows Signed-off-by: Andreas Karis <ak.karis@gmail.com>
|
/retest |
|
@oribon: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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/test-infra repository. I understand the commands that are listed here. |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dcbw, oribon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@oribon: All pull requests linked via external trackers have merged: Bugzilla bug 1987445 has been moved to the MODIFIED state. DetailsIn 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 kubernetes/test-infra repository. |
|
/cherry-pick release-4.9 |
|
@fedepaol: #793 failed to apply on top of branch "release-4.9": DetailsIn 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 kubernetes/test-infra repository. |
|
Are there plans to backport this to other versions? |
cherry-picking from ovn-kubernetes/ovn-kubernetes#2540 minus the e2e tests (dropped them because of conflicts that depend on other commits)
- What this PR does and why is it needed
- Special notes for reviewers
- How to verify it
- Description for the changelog