Skip to content

[Helm] Missing CAP_BPF in retina-agent Daemonset spec #2236

Open

Description

Describe the bug
The linuxutil and packetforward plugins (which are enabled by default in the basic setup instructions) require the CAP_BPF kernel capability. However this seems to be missing from the default set of capabilities added in the Helm chart:

As a result, the agent errors out being unable to retrieve any metrics from any of the present interfaces.

To Reproduce
Steps to reproduce the behavior:

  1. Install retina-agent via the Helm chart.
  2. Observe that the daemonset and pods lack the CAP_BPF capability.
  3. Observe that the agent cannot retrieve any interface metrics.

Expected behavior
BPF is added to the default set of capabilities in the Helm chart.

Screenshots
N/A

Platform (please complete the following information):

  • OS: Amazon Linux 2
  • Kubernetes Version: EKS 1.34
  • Host: AWS EC2 instances
  • Retina Version: 1.20

Additional context
Add any other context about the problem here.

Activity

  1. nddq commented on Apr 23, 2026

    @nddq
    Member

    AFAIK, linuxutils does not require CAP_BPF, and SYS_ADMIN should already covers BPF permissions for the plugins. What exactly is the issue you were seeing here, and did you verify that explicitly adding CAP_BPF resolved those issues?

  2. ohookins commented on Apr 23, 2026

    @ohookins
    Author

    Quang Nguyen (@nddq) you're absolutely correct, and I think I made a number of changes that unfortunately made it look like this fixed the problem when it didn't. Here's the error I'm getting:

    retina ts=2026-04-23T23:02:44.403Z level=error caller=linuxutil/ethtool_stats_linux.go:105 msg="Error while retrieving stats:" ifacename=eni07152960da9 error="
    failed to retrieve interface stats: no such device" errorVerbose="no such device\nfailed to retrieve interface stats\ngithub.com/microsoft/retina/pkg/plugin/li
    nuxutil.(*CachedEthtool).StatsWithBuffer\n\t/go/src/github.com/microsoft/retina/pkg/plugin/linuxutil/ethtool_handle_linux.go:42\ngithub.com/microsoft/retina/pk
    g/plugin/linuxutil.(*EthtoolReader).readInterfaceStats\n\t/go/src/github.com/microsoft/retina/pkg/plugin/linuxutil/ethtool_stats_linux.go:98\ngithub.com/micros
    oft/retina/pkg/plugin/linuxutil.(*EthtoolReader).readAndUpdate\n\t/go/src/github.com/microsoft/retina/pkg/plugin/linuxutil/ethtool_stats_linux.go:67\ngithub.co
    m/microsoft/retina/pkg/plugin/linuxutil.(*linuxUtil).run.func2\n\t/go/src/github.com/microsoft/retina/pkg/plugin/linuxutil/linuxutil_linux.go:122\nruntime.goex
    it\n\t/usr/local/go/src/runtime/asm_amd64.s:1771"
    

    I get this for every virtual interface on the instance.

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

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions