• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SchSeba / sriov-network-operator-1 / 22143404131
63%
master: 63%

Build:
Build:
LAST BUILD BRANCH: support_vfio_ib_in_webhook
DEFAULT BRANCH: master
Ran 18 Feb 2026 02:30PM UTC
Jobs 1
Files 111
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Feb 2026 02:18PM UTC coverage: 62.641% (-0.8%) from 63.459%
22143404131

push

github

SchSeba
Fix "message too long" error for InfiniBand devices with many VFs

When discovering or configuring InfiniBand devices with many VFs,
netlink.LinkByName() can fail with EMSGSIZE (message too long) because
the kernel's netlink response exceeds the message limit (~16KB). This
happens because LinkByName requests VF info which generates large
messages for IB devices with their GUIDs.

This commit adds two new methods to the netlink wrapper:

1. LinkByNameForSetVf: Returns a minimal link object (name and index
   only) by reading from sysfs. Sufficient for VF operations like
   LinkSetVfNodeGUID.

2. LinkByNameWithBasicInfo: Returns a link with basic info (name,
   index, MTU, MAC, EncapType). If netlink fails with EMSGSIZE, it
   falls back to reading these values from sysfs.

The fix is applied to:
- DiscoverSriovDevices: Uses LinkByNameWithBasicInfo for PF discovery
- getVfInfo: Uses LinkByNameWithBasicInfo for VF info discovery
- GetLinkType: Uses LinkByNameWithBasicInfo for link type detection
- configSriovVFDevices: Falls back to LinkByNameForSetVf on EMSGSIZE
- configSriovDevice: Falls back to LinkByNameForSetVf on EMSGSIZE
- GetNetdevMTU: Uses LinkByNameWithBasicInfo
- GetNetDevMac: Uses LinkByNameWithBasicInfo
- SetNetdevMTU: Falls back to LinkByNameForSetVf on EMSGSIZE

Includes path traversal protection for interface names to prevent
security issues when reading from sysfs.

Signed-off-by: User <user@example.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

22 of 149 new or added lines in 4 files covered. (14.77%)

438 existing lines in 10 files now uncovered.

9549 of 15244 relevant lines covered (62.64%)

0.7 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
9
81.74
-1.3% pkg/host/internal/network/network.go
11
91.46
-4.07% pkg/host/internal/lib/netlink/mock/mock_netlink.go
17
64.32
-0.89% pkg/host/internal/sriov/sriov.go
90
7.14
-10.04% pkg/host/internal/lib/netlink/netlink.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
94.74
-5.26% pkg/featuregate/featuregate.go
4
72.73
-1.21% controllers/generic_network_controller.go
5
85.47
-2.16% pkg/utils/cluster.go
6
79.24
-0.81% api/v1/helper.go
8
79.53
-3.94% controllers/drain_controller.go
42
64.32
-0.89% pkg/host/internal/sriov/sriov.go
50
66.96
-0.47% controllers/drain_controller_helper.go
61
70.83
1.37% controllers/helper.go
84
40.1
-10.33% api/v1/zz_generated.deepcopy.go
176
53.89
4.69% pkg/daemon/daemon.go
Jobs
ID Job ID Ran Files Coverage
1 22143404131.1 18 Feb 2026 02:30PM UTC 111
62.64
GitHub Action Run
Source Files on build 22143404131
  • Tree
  • List 111
  • Changed 20
  • Source Changed 14
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22143404131
  • b390c64a on github
  • Prev Build on conditions/network-crds (#21545660953)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc