Repository navigation
Closed as not planned
Closed as not planned
Copy link
Labels
area/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.Impacts bpf/ or low-level forwarding details, including map management and monitor messages.feature/ipv6Relates to IPv6 protocol supportRelates to IPv6 protocol supportkind/bugThis is a bug in the Cilium logic.This is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.This was reported by a user in the Cilium community, eg via Slack.staleThe stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale.The stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale.
Description
Is there an existing issue for this?
- I have searched the existing issues
What happened?
My host uses Link Local Address(LLA) to do BGP peering with leaf routers, with hostFirewall disabled in cilium, everything works fine, but once I enabled hostFirewall, cilium starts to drop LLA based NDP traffics.
I suppose this is caused by Cilium's built-in protection, described in this blog ?
But my use case is a valid one, to achieve BGP routing on the host by BGP Unnumbered via LLA. Is it possible to configure Cilium in a way to support that ?
My cilium helm values(ipv6 is disabled):
hostFirewall:
enabled: true
nodePort:
directRoutingDevice: "eth+"
ipam:
mode: kubernetes
bpf:
masquerade: true
devices: "eth+"
tunnel: vxlan
securityContext:
privileged: true
hostPort:
enabled: true
hubble:
enabled: true
relay:
enabled: true
ui:
enabled: true
kubeProxyReplacement: true
k8sServiceHost: "10.10.10.10"
k8sServicePort: "6443"
enableXTSocketFallback: false
cni:
configMap: cni-configuration
extraConfig:
derive-masquerade-ip-addr-from-device: dummy0
operator:
replicas: 1
sctp:
enabled: true
output of cilium monitor -t drop
# cilium monitor -t drop
Listening for events on 64 CPUs with 64x4096 of shared memory
Press Ctrl-C to quit
time="2024-06-14T12:32:08Z" level=info msg="Initializing dissection cache..." subsys=monitor
xx drop (Unsupported L3 protocol) flow 0x0 to endpoint 0, ifindex 9, file bpf_host.c:1406, , identity unknown->unknown: fe80::526b:4bff:feb6:d437 -> ff02::1:ff6d:122 NeighborSolicitation
xx drop (Unsupported L3 protocol) flow 0x99ad3e17 to endpoint 0, ifindex 9, file bpf_host.c:1189, , identity unknown->unknown: fe80::b24f:13ff:fe6d:122 -> ff02::1:ffb6:d437 NeighborSolicitation
xx drop (Unsupported L3 protocol) flow 0xe8c8fc7f to endpoint 0, ifindex 8, file bpf_host.c:1406, , identity unknown->unknown: fe80::526b:4bff:feb6:d436 -> ff02::1 RouterAdvertisement
xx drop (Unsupported L3 protocol) flow 0xbd40f179 to endpoint 0, ifindex 8, file bpf_host.c:1189, , identity unknown->unknown: fe80::b24f:13ff:fe6d:a9a2 -> ff02::1:ffb6:d436 NeighborSolicitation
xx drop (Unsupported L3 protocol) flow 0x0 to endpoint 0, ifindex 9, file bpf_host.c:1406, , identity unknown->unknown: fe80::526b:4bff:feb6:d437 -> ff02::1:ff6d:122 NeighborSolicitation
xx drop (Unsupported L3 protocol) flow 0x6379c6d0 to endpoint 0, ifindex 9, file bpf_host.c:1406, , identity unknown->unknown: fe80::526b:4bff:feb6:d437 -> ff02::1 RouterAdvertisement
Cilium Version
1.15.6
Kernel Version
6.6.32-talos
Kubernetes Version
v1.28.10
Regression
No response
Sysdump
No response
Relevant log output
No response
Anything else?
No response
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
Reacted by Andru Cherny
Metadata
Metadata
Assignees
Labels
area/datapathImpacts bpf/ or low-level forwarding details, including map management and monitor messages.Impacts bpf/ or low-level forwarding details, including map management and monitor messages.feature/ipv6Relates to IPv6 protocol supportRelates to IPv6 protocol supportkind/bugThis is a bug in the Cilium logic.This is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.This was reported by a user in the Cilium community, eg via Slack.staleThe stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale.The stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale.
Activity
YutaroHayakawa commentedon Jun 24, 2024
I know NodePort (
kubeProxyReplacement=true) has this issue, but not aware of the hostFirewall. I guess in your use case (BGP Unnumbered), you want to accept RA, and I know that hostFirewall is intended to accept it.Could you try to disable KPR and see if that solve the problem?
abckey commentedon Jun 24, 2024
thx @YutaroHayakawa , I tried with
kubeProxyReplacement=false, it does not help, still those NDP/ICMP v6 and BGP(TCP/179) packets are dropped.YutaroHayakawa commentedon Jul 1, 2024
Hmm, ICMP is understandable, but I'm not sure why BGP packets are dropped. Are you allowing BGP traffic in HostFirewall? BGP speaker is in the host namespace (part of Cilium agent), so you need to allow it as well.
github-actions commentedon Aug 31, 2024
This issue has been automatically marked as stale because it has not
had recent activity. It will be closed if no further activity occurs.
abckey commentedon Sep 13, 2024
I have following policy, but it does not help:
Actually to make BGP unnumered to work, NDP/ICMP v6 has to work first, if they don't, we can not get to the BGP session creation phase(TCP/179). So the problem is cilium drops e.g. RouterAdvertisement packet in both directions:
I found there is a config
enable-ipv6-ndp, but it requiresenable-ipv6: "true"to work, we are running the cluster with ipv4 only, can not enable ipv6 at this stage yet.github-actions commentedon Dec 8, 2024
This issue has been automatically marked as stale because it has not
had recent activity. It will be closed if no further activity occurs.
github-actions commentedon Dec 23, 2024
This issue has not seen any activity since it was marked stale.
Closing.
nfarhadian commentedon Mar 26, 2026
I have the same problem on Cilium 1.18.6 and I get following error on FRR:
Tx RA failed, socket 12 error 105 (No buffer space available)bpf: host: pass IPv6 to the stack when the IPv6 datapath is disabled
bpf: host: pass IPv6 to the stack when the IPv6 datapath is disabled
bpf: host: pass IPv6 to the stack when the IPv6 datapath is disabled
fix(cilium): pass IPv6 to kernel stack when IPv6 datapath is disabled (…
bpf: host: pass IPv6 to the stack when the IPv6 datapath is disabled