Skip to content

Conversation

brb
Copy link
Member

@brb brb commented Aug 12, 2021

Diff from previous PR (cannot push to the fork's branch, so opening a new PR instead):

  • Explicitly enable bpf_lxc LB if the bypass is enabled (previously, the ifdef was not checking whether the bypass macro was defined).
  • Rename the bypass macro to ENABLE_SOCKET_LB_HOST_ONLY.
  • Rename the helm var from loadBalancer.hostNamespaceOnly to hostServices.hostNamespaceOnly.
  • Minor doc improvements.

Supersedes #13882.

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Aug 12, 2021
@brb
Copy link
Member Author

brb commented Aug 12, 2021

test-net-next

@brb brb force-pushed the pr/brb/fix-istio-disable-socket-lb branch from 8233676 to f7d126b Compare August 13, 2021 10:13
@brb
Copy link
Member Author

brb commented Aug 13, 2021

test-me-please

@brb
Copy link
Member Author

brb commented Aug 13, 2021

test-runtime

@brb brb force-pushed the pr/brb/fix-istio-disable-socket-lb branch from f7d126b to 490607a Compare August 24, 2021 08:19
@brb brb changed the title WIP: fix istio socket-lb datapath: Adds a new option to skip socket lb when in pod ns Aug 24, 2021
@brb brb added release-note/minor This PR changes functionality that users may find relevant to operating Cilium. sig/loadbalancing labels Aug 24, 2021
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Aug 24, 2021
@brb brb force-pushed the pr/brb/fix-istio-disable-socket-lb branch from 490607a to 6d54696 Compare August 24, 2021 08:35
@brb brb changed the title datapath: Adds a new option to skip socket lb when in pod ns datapath: Add a new option to skip socket lb when in pod ns Aug 24, 2021
@brb brb requested a review from Weil0ng August 24, 2021 08:35
@brb
Copy link
Member Author

brb commented Aug 24, 2021

test-me-please

Job 'Cilium-PR-K8s-1.16-net-next' has 3 failures but they might be new flakes since it also hit 1 known flakes: #17060 (88.47)

@brb brb marked this pull request as ready for review August 24, 2021 08:48
@brb brb requested review from a team August 24, 2021 08:48
@brb brb requested review from a team as code owners August 24, 2021 08:48
@brb brb requested review from a team August 24, 2021 08:48
@brb brb requested a review from a team as a code owner August 24, 2021 08:48
@brb brb requested review from joamaki, tklauser and qmonnet August 24, 2021 08:48
@brb
Copy link
Member Author

brb commented Sep 30, 2021

net-next hit #12511. Marking as ready to merge.

@brb brb added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Sep 30, 2021
@glibsm glibsm merged commit f7303af into master Sep 30, 2021
@glibsm glibsm deleted the pr/brb/fix-istio-disable-socket-lb branch September 30, 2021 16:12
jrajahalme added a commit that referenced this pull request Mar 8, 2022
Use the same condition in defining the label 'skip_policy_enforcement' as
for jumping to it. Otherwise we could jump to a nonexisting label given a
suitable datapath configuration. This does not seem possible now, as
ENABLE_HOST_SERVICES_FULL should not be defined if
ENABLE_SOCKET_LB_HOST_ONLY is defined. However, as the conditions for
defining ENABLE_PER_PACKET_LB evolve, this would become a compilation
bug.

Fixes: #17154
Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
jrajahalme added a commit to jrajahalme/cilium that referenced this pull request Mar 14, 2022
Use the same condition in defining the label 'skip_policy_enforcement' as
for jumping to it. Otherwise we could jump to a nonexisting label given a
suitable datapath configuration. This does not seem possible now, as
ENABLE_HOST_SERVICES_FULL should not be defined if
ENABLE_SOCKET_LB_HOST_ONLY is defined. However, as the conditions for
defining ENABLE_PER_PACKET_LB evolve, this would become a compilation
bug.

Fixes: cilium#17154
Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
joestringer pushed a commit that referenced this pull request Mar 15, 2022
Use the same condition in defining the label 'skip_policy_enforcement' as
for jumping to it. Otherwise we could jump to a nonexisting label given a
suitable datapath configuration. This does not seem possible now, as
ENABLE_HOST_SERVICES_FULL should not be defined if
ENABLE_SOCKET_LB_HOST_ONLY is defined. However, as the conditions for
defining ENABLE_PER_PACKET_LB evolve, this would become a compilation
bug.

Fixes: #17154
Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
qmonnet pushed a commit that referenced this pull request Mar 30, 2022
[ upstream commit 6e2ce4a ]

Use the same condition in defining the label 'skip_policy_enforcement' as
for jumping to it. Otherwise we could jump to a nonexisting label given a
suitable datapath configuration. This does not seem possible now, as
ENABLE_HOST_SERVICES_FULL should not be defined if
ENABLE_SOCKET_LB_HOST_ONLY is defined. However, as the conditions for
defining ENABLE_PER_PACKET_LB evolve, this would become a compilation
bug.

Fixes: #17154
Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
qmonnet pushed a commit that referenced this pull request Apr 4, 2022
[ upstream commit 6e2ce4a ]

Use the same condition in defining the label 'skip_policy_enforcement' as
for jumping to it. Otherwise we could jump to a nonexisting label given a
suitable datapath configuration. This does not seem possible now, as
ENABLE_HOST_SERVICES_FULL should not be defined if
ENABLE_SOCKET_LB_HOST_ONLY is defined. However, as the conditions for
defining ENABLE_PER_PACKET_LB evolve, this would become a compilation
bug.

Fixes: #17154
Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
pchaigno pushed a commit that referenced this pull request Apr 4, 2022
[ upstream commit 6e2ce4a ]

Use the same condition in defining the label 'skip_policy_enforcement' as
for jumping to it. Otherwise we could jump to a nonexisting label given a
suitable datapath configuration. This does not seem possible now, as
ENABLE_HOST_SERVICES_FULL should not be defined if
ENABLE_SOCKET_LB_HOST_ONLY is defined. However, as the conditions for
defining ENABLE_PER_PACKET_LB evolve, this would become a compilation
bug.

Fixes: #17154
Signed-off-by: Jarno Rajahalme <jarno@isovalent.com>
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
wigust added a commit to kitnil/dotfiles that referenced this pull request Sep 21, 2024
This commit applies a Cilium configuration based on 3 issues:

[Services are inaccessible from KubeVirt VMs when using kube-proxy free configuration · Issue #14563 · cilium/cilium]
(cilium/cilium#14563)

> # Services are inaccessible from KubeVirt VMs when using kube-proxy free
> configuration #14563 Kubevirt has a layered networking stack that is
> described
> [here](https://github.com/kubevirt/kubevirt/blob/master/docs/devel/networking.md). As
> Daniel Borkman kindly described
> [here](https://cilium.slack.com/archives/C1MATJ5U5/p1610058107366400?thread_ts=1609804735.250100&cid=C1MATJ5U5),
> "the east-west based load-balancing is basically realised through BPF
> attaching to socket hooks e.g. connect(2) and then doing the service xlation
> once at connect time from there. This means there is no packet-based NAT
> involved. To get this to work, we'd need to compile in the old-style service
> translation in bpf\_lxc to catch untranslated service requests on a
> per-packet basis (cc [@martynas](https://github.com/martynas)). This would
> get ClusterIP translation working for kubevirt case containers at least (and
> therefore resolve your DNS issues)."

[datapath: Add a new option to skip socket lb when in pod ns by brb · Pull Request #17154 · cilium/cilium]
(cilium/cilium#17154)

> Diff from previous PR (cannot push to the fork's branch, so opening a new PR instead):
>
> -   Explicitly enable bpf\_lxc LB if the bypass is enabled (previously, the
> ifdef was not checking whether the bypass macro was defined).
> -   Rename the bypass macro to `ENABLE_SOCKET_LB_HOST_ONLY`.
> -   Rename the helm var from `loadBalancer.hostNamespaceOnly` to
> `hostServices.hostNamespaceOnly`.
> -   Minor doc improvements.

[daemon: Rename host-reachable services to socket LB by brb · Pull Request #20369 · cilium/cilium]
(cilium/cilium#20369)

> Rename "host-reachable services" to "socket LB". The "host-reachable
> services" terminology will be completely removed in v1.13.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/minor This PR changes functionality that users may find relevant to operating Cilium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.