-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
egressgateway: fix manager logic #17813
Conversation
6a80d9e
to
dd137a5
Compare
dd137a5
to
5db11fe
Compare
5db11fe
to
3a5a069
Compare
f7faa2f
to
ebdd83b
Compare
/test Job 'Cilium-PR-K8s-1.20-kernel-5.4' hit: #17069 (89.67% similarity) |
/test-5.4 |
} | ||
|
||
# define lookup_ip4_egress_endpoint(sip, dip) \ | ||
egress_lookup4(&EGRESS_MAP, sip, dip) |
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.
FYI, I'll have to revert all changes to this file in the SRv6 PR, except for the map/key name changes.
EDIT: Actually, I can preserve this function name change as well, doesn't make a different for SRv6 for now.
This backports cilium#17186 to `v1.10`. Rationale: the original PR was required on `master` for cilium#17813. cilium#18082 is backporting cilium#17813 to `v1.10`, thus it also requires similar changes. As we previously did on `master`, we switch the runtime tests to run on net-next instead of 4.9 due to new unit tests requirements. Signed-off-by: Nicolas Busseneau <nicolas@isovalent.com>
This backports #17186 to `v1.10`. Rationale: the original PR was required on `master` for #17813. #18082 is backporting #17813 to `v1.10`, thus it also requires similar changes. As we previously did on `master`, we switch the runtime tests to run on net-next instead of 4.9 due to new unit tests requirements. Signed-off-by: Nicolas Busseneau <nicolas@isovalent.com>
This PR refactors the egress gateway manager in order to provide a
single
reconcile()
method, responsible for adding and removing entriesto and from the egress_policy map, that will be invoked on all events
received by the manager.
In addition to this, the manager will now wait for the k8s cache to be
fully synced before running its first reconciliation, in order to always
have the egress_policy map in a consistent state with the k8s
configuration.
Fixes: #17380
Fixes: #17753