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

florianl / go-tc
92%

Build:
DEFAULT BRANCH: main
Repo Added 04 Mar 2020 09:14AM UTC
Files 84
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • README-go-report
  • actions
  • add-missing-icmpv6-keys
  • badge
  • blocking-conn
  • ci-7.1
  • ci-arm
  • ci-bump-staticcheck
  • ci-codeql
  • ci-go-update
  • ci-kernel-7.0
  • ci-manual-trigger
  • ci-pin
  • ci-pin-version
  • clock-alternative
  • dependabot/github_actions/actions/checkout-3
  • dependabot/github_actions/actions/checkout-5.0.0
  • dependabot/github_actions/actions/checkout-6.0.0
  • dependabot/github_actions/actions/checkout-6.0.1
  • dependabot/github_actions/actions/checkout-6.0.2
  • dependabot/github_actions/actions/checkout-6.0.3
  • dependabot/github_actions/actions/checkout-7.0.0
  • dependabot/github_actions/actions/checkout-7.0.1
  • dependabot/github_actions/actions/download-artifact-4.2.1
  • dependabot/github_actions/actions/download-artifact-4.3.0
  • dependabot/github_actions/actions/download-artifact-5.0.0
  • dependabot/github_actions/actions/download-artifact-6.0.0
  • dependabot/github_actions/actions/download-artifact-7.0.0
  • dependabot/github_actions/actions/download-artifact-8.0.0
  • dependabot/github_actions/actions/download-artifact-8.0.1
  • dependabot/github_actions/actions/download-artifact-8.0.2
  • dependabot/github_actions/actions/setup-go-3
  • dependabot/github_actions/actions/setup-go-5.4.0
  • dependabot/github_actions/actions/setup-go-5.5.0
  • dependabot/github_actions/actions/setup-go-6.0.0
  • dependabot/github_actions/actions/setup-go-6.1.0
  • dependabot/github_actions/actions/setup-go-6.2.0
  • dependabot/github_actions/actions/setup-go-6.3.0
  • dependabot/github_actions/actions/setup-go-6.4.0
  • dependabot/github_actions/actions/setup-go-6.5.0
  • dependabot/github_actions/actions/setup-go-7.0.0
  • dependabot/github_actions/actions/upload-artifact-4.6.2
  • dependabot/github_actions/actions/upload-artifact-5.0.0
  • dependabot/github_actions/actions/upload-artifact-6.0.0
  • dependabot/github_actions/actions/upload-artifact-7.0.0
  • dependabot/github_actions/actions/upload-artifact-7.0.1
  • dependabot/github_actions/actions/upload-artifact-7.0.2
  • dependabot/github_actions/dominikh/staticcheck-action-1.2.0
  • dependabot/github_actions/dominikh/staticcheck-action-1.4.0
  • dependabot/github_actions/dominikh/staticcheck-action-1.4.1
  • dependabot/github_actions/github/codeql-action-2
  • dependabot/github_actions/github/codeql-action-3.28.11
  • dependabot/github_actions/github/codeql-action-3.28.13
  • dependabot/github_actions/github/codeql-action-3.28.14
  • dependabot/github_actions/github/codeql-action-3.28.15
  • dependabot/github_actions/github/codeql-action-3.28.16
  • dependabot/github_actions/github/codeql-action-3.28.17
  • dependabot/github_actions/github/codeql-action-3.28.18
  • dependabot/github_actions/github/codeql-action-3.28.19
  • dependabot/github_actions/github/codeql-action-3.29.0
  • dependabot/github_actions/github/codeql-action-3.29.11
  • dependabot/github_actions/github/codeql-action-3.29.2
  • dependabot/github_actions/github/codeql-action-3.29.3
  • dependabot/github_actions/github/codeql-action-3.29.4
  • dependabot/github_actions/github/codeql-action-3.29.5
  • dependabot/github_actions/github/codeql-action-3.29.8
  • dependabot/github_actions/github/codeql-action-3.30.1
  • dependabot/github_actions/github/codeql-action-3.30.3
  • dependabot/github_actions/github/codeql-action-3.30.5
  • dependabot/github_actions/github/codeql-action-3.30.6
  • dependabot/github_actions/github/codeql-action-4.30.8
  • dependabot/github_actions/github/codeql-action-4.30.9
  • dependabot/github_actions/github/codeql-action-4.31.0
  • dependabot/github_actions/github/codeql-action-4.31.10
  • dependabot/github_actions/github/codeql-action-4.31.11
  • dependabot/github_actions/github/codeql-action-4.31.2
  • dependabot/github_actions/github/codeql-action-4.31.3
  • dependabot/github_actions/github/codeql-action-4.31.5
  • dependabot/github_actions/github/codeql-action-4.31.6
  • dependabot/github_actions/github/codeql-action-4.31.7
  • dependabot/github_actions/github/codeql-action-4.31.8
  • dependabot/github_actions/github/codeql-action-4.31.9
  • dependabot/github_actions/github/codeql-action-4.32.1
  • dependabot/github_actions/github/codeql-action-4.32.2
  • dependabot/github_actions/github/codeql-action-4.32.3
  • dependabot/github_actions/github/codeql-action-4.32.4
  • dependabot/github_actions/github/codeql-action-4.32.5
  • dependabot/github_actions/github/codeql-action-4.32.6
  • dependabot/github_actions/github/codeql-action-4.33.0
  • dependabot/github_actions/github/codeql-action-4.34.1
  • dependabot/github_actions/github/codeql-action-4.35.1
  • dependabot/github_actions/github/codeql-action-4.35.2
  • dependabot/github_actions/github/codeql-action-4.35.3
  • dependabot/github_actions/github/codeql-action-4.35.4
  • dependabot/github_actions/github/codeql-action-4.35.5
  • dependabot/github_actions/github/codeql-action-4.36.0
  • dependabot/github_actions/github/codeql-action-4.36.1
  • dependabot/github_actions/github/codeql-action-4.36.2
  • dependabot/github_actions/github/codeql-action/analyze-4.36.3
  • dependabot/github_actions/github/codeql-action/autobuild-4.36.3
  • dependabot/github_actions/github/codeql-action/init-4.36.3
  • dependabot/go_modules/github.com/cilium/ebpf-0.8.1
  • dependabot/go_modules/github.com/google/go-cmp-0.5.7
  • dependabot/go_modules/github.com/google/go-cmp-0.5.8
  • dependabot/go_modules/github.com/josharian/native-1.2.0
  • dependabot/go_modules/github.com/mdlayher/netlink-1.6.0
  • drop-codeql
  • drop-go-fuzz
  • drop-log
  • ematch_tests
  • example-qdisc-replace
  • examples-ebpf
  • extend-tests
  • f_basic
  • feat/ipv6-flower-keys
  • feat/pedit-helper-methods
  • filter-info
  • fix-actions-get
  • fix-add-drr-qdisc-parameterless
  • fix-code-check
  • flo-codeql-allow-security-events
  • flo-doc
  • flo-drop-log
  • flo-ets-multierror
  • flo-format
  • flo-gh-action
  • flo-gofumpt-test
  • flo-integration-tag
  • flo-m-ct
  • flo-m-mirred
  • flo-m-tunnel-key
  • flo-per-kernel-tests
  • flo-q-drr
  • flo-q-format
  • flo-q-netem
  • flo-q-pie
  • flo-tc-setOption
  • flo-yml-read-only
  • florianl-patch-1
  • florianl-patch-2
  • go-1-15
  • go-1-25
  • go-124
  • gofumpt
  • gred-attribute-test
  • htb-offload
  • implement-drr-class
  • issue-223
  • issue-258
  • issue-332
  • m-skbmod
  • main
  • master
  • mdlayer-162
  • mdlayer-172
  • metadata-ematch
  • nest-fix
  • netem-xstats
  • q-fq
  • q-fqcodel
  • q-gred
  • q-red
  • q_fqPie
  • refs/tags/v0.2.0
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • short-msg-fix
  • stab-test
  • typo
  • unmarshalByte

24 Oct 2026 07:57AM UTC coverage: 92.357% (-0.1%) from 92.479%
40076170815

push

github

web-flow
netem: parse kind-specific extended statistics (#341)

* netem: parse kind-specific extended statistics

netem exports its extended statistics (struct tc_netem_xstats) via
TCA_STATS_APP (netem_dump_stats() calls gnet_stats_copy_app()), and
some setups expose it via TCA_XSTATS. Both paths aborted the whole
qdisc dump parse so far:

- extractXStats() had no "netem" case -> "extractXStats(): unsupported kind: netem"
- unmarshalGenStats() hit the default case for TCA_STATS_APP
  -> "unmarshalGenStats()\t4"

containerlab tools netem set/show depends on Qdisc().Get() and fails
with those messages although the netem qdisc itself is created fine.

This parses the kind-specific payload for netem on both attribute
paths (unit tests included) and keeps unknown TCA_STATS_APP payloads
without aborting the dump.

Signed-off-by: Sebastian Rieger <sebastian.rieger@informatik.hs-fulda.de>

* stats: keep TCA_STATS_APP payload out of the public API

Instead of exposing the raw TCA_STATS_APP payload as GenStats.App []byte,
buffer it while walking the attributes and parse it kind-specifically after
the whole netlink message has been walked (same pattern as TCA_XSTATS).

This also fixes an attribute-order dependency: netem dumps may carry
tcaStats2 before tcaKind, so the kind-specific parsing must not happen
inline at the tcaStats2 case.

Signed-off-by: Sebastian Rieger <sebastian.rieger@informatik.hs-fulda.de>

* q_netem: harden extractTcmsgAttributes for truncated/oversized APP payloads

- treat a zero-length APP payload as absent instead of returning
  io.ErrUnexpectedEOF
- fail on APP payloads whose declared length does not match the
  remaining message bytes
- report the truncated attribute explicitly and skip it instead of
  silently continuing
- return an error for unknown attribute kinds that carry an APP
  payload

Signed-off-by: Sebastian Rieger <sebastian.rieger@informatik.hs-fulda.de>

---------

Signed-off-by: Sebastian Rieger <sebastian.rieger@informatik.hs-fulda.de>

24 of 27 new or added lines in 4 files covered. (88.89%)

5 existing lines in 3 files now uncovered.

4882 of 5286 relevant lines covered (92.36%)

11.24 hits per line

Relevant lines Covered
Build:
Build:
5286 RELEVANT LINES 4882 COVERED LINES
11.24 HITS PER LINE
Source Files on main
  • Tree
  • List 84
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
40076170815 main netem: parse kind-specific extended statistics (#341) * netem: parse kind-specific extended statistics netem exports its extended statistics (struct tc_netem_xstats) via TCA_STATS_APP (netem_dump_stats() calls gnet_stats_copy_app()), and some se... push 24 Oct 2026 07:59AM UTC web-flow github
92.36
39154242294 netem-xstats q_netem: harden extractTcmsgAttributes for truncated/oversized APP payloads - treat a zero-length APP payload as absent instead of returning io.ErrUnexpectedEOF - fail on APP payloads whose declared length does not match the remaining message... Pull #341 18 Oct 2026 06:29PM UTC srieger1 github
92.36
39046409673 main CI: fix code-check failure (#344) Signed-off-by: Florian Lehner <dev@der-flo.net> push 17 Oct 2026 03:46PM UTC web-flow github
92.48
39046248173 fix-code-check CI: fix code-check failure Signed-off-by: Florian Lehner <dev@der-flo.net> Pull #344 17 Oct 2026 03:44PM UTC florianl github
92.48
39045858137 main build(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 (#343) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 8.0.1 to 8.0.2. - [Release notes](https://github.com/actions/download-artifact/releases) -... push 17 Oct 2026 03:39PM UTC web-flow github
92.48
39045782553 main build(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 (#342) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.1 to 7.0.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commit... push 17 Oct 2026 03:38PM UTC web-flow github
92.48
38967839812 netem-xstats stats: keep TCA_STATS_APP payload out of the public API Instead of exposing the raw TCA_STATS_APP payload as GenStats.App []byte, buffer it while walking the attributes and parse it kind-specifically after the whole netlink message has been walke... Pull #341 16 Oct 2026 09:15PM UTC srieger1 github
92.35
38966646845 netem-xstats stats: keep TCA_STATS_APP payload out of the public API Instead of exposing the raw TCA_STATS_APP payload as GenStats.App []byte, buffer it while walking the attributes and parse it kind-specifically after the whole netlink message has been walke... Pull #341 16 Oct 2026 09:05PM UTC srieger1 github
92.35
38444325642 dependabot/github_actions/actions/upload-artifact-7.0.2 build(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.1 to 7.0.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](http... Pull #342 13 Oct 2026 06:10PM UTC web-flow github
92.48
38444355188 dependabot/github_actions/actions/download-artifact-8.0.2 build(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 8.0.1 to 8.0.2. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commi... Pull #343 13 Oct 2026 06:10PM UTC web-flow github
92.48
See All Builds (788)
  • Repo on GitHub
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