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

openconfig / kne / 31439658831
44%

Build:
DEFAULT BRANCH: main
Ran 10 Aug 2026 10:49PM UTC
Jobs 1
Files 62
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

10 Aug 2026 10:45PM UTC coverage: 42.202%. Remained the same
31439658831

push

github

web-flow
[meshnet] Replace veth + libpcap with TAP devices for gRPC wires (#731)

* [meshnet] Replace veth + libpcap with TAP devices for gRPC wires

Replace the veth pair and libpcap packet capture implementation in meshnetd
with persistent Linux TAP devices created directly inside container network
namespaces.

Reason for Change:
- Eliminates packet loss under high traffic loads caused by libpcap's kernel-
  to-userspace drop policy.
- Provides native Linux socket buffer flow control and backpressure (`txqueuelen`)
  up to the container application when gRPC processing falls behind.
- Guarantees protocol transparent packet handling (including LACP and LLDP frames).
- Ensures process crash resilience: setting `TUNSETPERSIST=1` keeps TAP interfaces
  alive in the container netns across daemon restarts without link flaps.
- Synchronizes CNI plugin pod readiness with complete end-to-end gRPC wire setup,
  preventing test/ping race conditions upon pod startup.
- Eliminates CGO and `libpcap-dev` build dependencies, producing a pure Go static
  binary (`CGO_ENABLED=0`).

Key Changes:
- Added `CreateOrAttachTAP` in `wireutil` using `TUNSETIFF` & `TUNSETPERSIST`.
- Replaced `pcap.Handle` with `*os.File` in `gwire_map.go`, `grpcwire.go`, and `handler.go`.
- Updated `ReconcilePodLinks` in `controller.go` to use TAP interfaces directly without
  host-side veth creation.
- Updated `GRPCWireExists` and CNI `cmdAdd` readiness check to block until gRPC wire
  handshakes are fully established.
- Removed `libpcap-dev` and updated Dockerfile to build `meshnetd` with `CGO_ENABLED=0`.

* Lint / format fixes

Add package & public method comments, and format Go

* Resolve codespell complaint

* Review comment - be more diligent with error checking in CreateOrAttachTAP

* Hold wire.mu and preserve wire.StopC in UpdateWireByUID

* Only check GRPCWireExists for inter-node gRPC links in CNI cmdAdd

* • grpcwire.go uses sync.Pool to eliminate per-packet heap allocations and prevent con... (continued)

5417 of 12836 relevant lines covered (42.2%)

0.48 hits per line

Subprojects
ID Flag name Job ID Ran Files Coverage
1 /jobs/185997607 31439658831.1 10 Aug 2026 10:49PM UTC 62
42.2
GitHub Action Run
Source Files on build 31439658831
  • Tree
  • List 62
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 3606afe7 on github
  • Prev Build on main (#31438091307)
  • Next Build on main (#31506368217)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc