Skip to content

From 1.18.6 upgrade to 1.19 breaks l2 Announcement with sharing key #44222

Closed

Description

@StormYudi

Is there an existing issue for this?

  • I have searched the existing issues

Version

equal or higher than v1.19.0 and lower than v1.20.0

What happened?

After upgrade to 1.19, we found that some services with l2 announcement are broken.

How can we reproduce the issue?

Further investigation revealed that only services using a sharing key (i.e., those sharing the same IP address but using different ports) were inaccessible from the internet. Services using independent IP addresses, however, functioned without issue.

Furthermore, rolling back Cilium to version 1.18.6 did not resolve the problem; each server had to be restarted after the rollback for network connectivity to be restored.

Cilium Version

1.19

Kernel Version

6.18.5 / 6.18.1

Kubernetes Version

v1.34.2

Regression

1.18.6

Cilium helm values

k8sServiceHost: "localhost"
k8sServicePort: "7445"
kubeProxyReplacement: 'true'

k8sClientRateLimit:
  qps: 200
  burst: 400
  operator:
    qps: 1000
    burst: 2000

bandwidthManager:
  enabled: true
  bbr: true

l2announcements:
  enabled: true
  leaseDuration: 60s
  leaseRenewDeadline: 40s
  leaseRetryPeriod: 10s

bpf:
  masquerade: true
  hostLegacyRouting: false

ingressController:
  default: true

cgroup:
  autoMount:
    enabled: false
  hostRoot: /sys/fs/cgroup

externalIPs:
  enabled: true

gatewayAPI:
  enableAlpn: true
  enableAppProtocol: true

ipam:
  operator:
    clusterPoolIPv4PodCIDRList: ["10.0.0.0/8"]
    clusterPoolIPv4MaskSize: 18
    clusterPoolIPv6PodCIDRList: ["fd00::/104"]
    clusterPoolIPv6MaskSize: 114

ipv6:
  enabled: true

loadBalancer:
  dsrDispatch: geneve
  mode: dsr

securityContext:
  capabilities:
    ciliumAgent:
      - CHOWN
      - KILL
      - NET_ADMIN
      - NET_RAW
      - IPC_LOCK
      - SYS_ADMIN
      - SYS_RESOURCE
      - DAC_OVERRIDE
      - FOWNER
      - SETGID
      - SETUID
    cleanCiliumState:
      - NET_ADMIN
      - SYS_ADMIN
      - SYS_RESOURCE

operator:
  prometheus:
    enabled: true
    metricsService: true

prometheus:
  enabled: true
  metricsService: true

tunnelProtocol: geneve

Anything else?

OS: Talos Linux v1.12.0/v1.12.2

Cilium Users Document

  • Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

  1. added
    kind/bugThis is a bug in the Cilium logic.
    needs/triageThis issue requires triaging to establish severity and affected area.
    kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.
    on Feb 6, 2026
  2. joestringer commented on Feb 6, 2026

    @joestringer
    Member

    Thanks for the report. Looks like this is related with L2 Announcements (beta). For anyone interested in digging into this issue, a useful step would be to understand what the minimal set of steps are needed to reproduce the issue. Presumably it's a combination of installing Cilium with the values file shared in the issue description, then creating some L2 Announcement Policies. It would be helpful to also share the copies of those policies along with the steps.

  3. added
    need-more-infoMore information is required to further debug or fix the issue.
    needs/e2e-testThis issue is not covered by existing CI tests, but should be.
    upgrade-impactThis PR has potential upgrade or downgrade impact.
    affects/v1.19This issue affects v1.19 branch
    kind/regressionThis functionality worked fine before, but was broken in a newer release of Cilium.
    on Feb 6, 2026
  4. StormYudi commented on Feb 6, 2026

    @StormYudi
    Author

    I will share more information to help with possible reproduction. This is the policy we use:

    apiVersion: "cilium.io/v2alpha1"
    kind: CiliumL2AnnouncementPolicy
    metadata:
      name: l2advert
    spec:
      interfaces:
      - ens3f0
      externalIPs: true
      loadBalancerIPs: true

    Our service will also have the following settings:

    kind: Service
    apiVersion: v1
    metadata:
      name: svc-bqq6xnkl
      annotations:
        lbipam.cilium.io/ips: 110.x.x.x, 111.x.x.x
        lbipam.cilium.io/sharing-cross-namespace: '*'
        lbipam.cilium.io/sharing-key: public-share
    spec:
      type: LoadBalancer
      externalTrafficPolicy: Cluster
      ipFamilies:
        - IPv4
      ipFamilyPolicy: SingleStack
      allocateLoadBalancerNodePorts: false
      internalTrafficPolicy: Cluster
  5. added
    info-completedThe GH issue has received a reply from the author
    and removed
    need-more-infoMore information is required to further debug or fix the issue.
    on Feb 6, 2026
  6. msune commented on Feb 6, 2026

    @msune
    Member

    Further investigation revealed that only services using a sharing key (i.e., those sharing the same IP address but using different ports) were inaccessible from the internet.

    All of the services sharing the same IP, or just some ports were working and some others not?

  7. StormYudi commented on Feb 7, 2026

    @StormYudi
    Author

    Further investigation revealed that only services using a sharing key (i.e., those sharing the same IP address but using different ports) were inaccessible from the internet.

    All of the services sharing the same IP, or just some ports were working and some others not?

    I didn't conduct a complete test at the time. A single IP address might have dozens of ports in use, belonging to different services. I tested at least five of them and found none that were accessible. However, the load balancer services annotated only with lbipam.cilium.io/ips were accessible normally.

  8. 20 remaining items

  9. added
    staleThe stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale.
    on Apr 14, 2026
  10. github-actions commented on Apr 28, 2026

    @github-actions
  11. added
    need-more-infoMore information is required to further debug or fix the issue.
    pinnedThese issues are not marked stale by our issue bot.
    and removed
    needs/triageThis issue requires triaging to establish severity and affected area.
    info-completedThe GH issue has received a reply from the author
    staleThe stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale.
    on Apr 28, 2026
  12. hugues-sauvage commented on Aug 25, 2026

    @hugues-sauvage

    Fixed in 1.20 with : l2announcer: re-evaluate services on frontend changes (Backport PR #47690, Upstream PR #47579, @mhofstetter) ?

  13. joestringer commented on Aug 25, 2026

    @joestringer
    Member

    @hugues-sauvage are you confirming that you experienced the issue before and that you no longer see the problem with v1.20.x? That would be great 🎉

  14. joestringer commented on Aug 27, 2026

    @joestringer
    Member

    I'll close this issue optimistically based on the above. If you still see this with v1.20 or above, feel free to comment below or open a fresh issue.

  15. hugues-sauvage commented on Aug 31, 2026

    @hugues-sauvage

    No. I haven't experienced anything. It's just Claude Anthropic looking in PR code in v1.20 and saying that it should fix the problem. May be @mhofstetter can validate.

  16. joestringer commented on Aug 31, 2026

    @joestringer
    Member

    @hugues-sauvage Oh. I've seen a lot of similar cases where LLM tools are hallucinating that something is fixed, because while the code text has a statistical correlation with a potential fix, it turns out that when you actually deploy Cilium in a live environment there are many more variables that the LLMs are not taking into account. So it's not overly helpful to post that some LLM generated text which hints it's fixed, because it doesn't tell us anything new. It tells us the fix is correlated but may or may not address the issue.

    Either way sure maybe someone who is experiencing the bug can report back whether it's fixed or maybe Marco knows. I'll leave the bug closed optimistically anyway, pending a counter-report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    affects/v1.19This issue affects v1.19 brancharea/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.feature/l2-announcementkind/bugThis is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.kind/regressionThis functionality worked fine before, but was broken in a newer release of Cilium.need-more-infoMore information is required to further debug or fix the issue.needs/e2e-testThis issue is not covered by existing CI tests, but should be.pinnedThese issues are not marked stale by our issue bot.upgrade-impactThis PR has potential upgrade or downgrade impact.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions