Skip to content

BPF: Store DSCP in conntrack#11004

Open
mazdakn wants to merge 3 commits intoprojectcalico:masterfrom
mazdakn:dscp-bpf-ct
Open

BPF: Store DSCP in conntrack#11004
mazdakn wants to merge 3 commits intoprojectcalico:masterfrom
mazdakn:dscp-bpf-ct

Conversation

@mazdakn
Copy link
Member

@mazdakn mazdakn commented Sep 12, 2025

Description

Related issues/PRs

Todos

  • Tests
  • Documentation
  • Release note

Release Note

TBD

Reminder for the reviewer

Make sure that this PR has the correct labels and milestone set.

Every PR needs one docs-* label.

  • docs-pr-required: This change requires a change to the documentation that has not been completed yet.
  • docs-completed: This change has all necessary documentation completed.
  • docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

  • release-note-required: This PR has user-facing changes. Most PRs should have this label.
  • release-note-not-required: This PR has no user-facing changes.

Other optional labels:

  • cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
  • needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

@mazdakn mazdakn requested a review from a team as a code owner September 12, 2025 22:04
Copilot AI review requested due to automatic review settings September 12, 2025 22:04
@mazdakn mazdakn added docs-not-required Docs not required for this change release-note-not-required Change has no user-facing impact labels Sep 12, 2025
@marvin-tigera marvin-tigera added this to the Calico v3.31.0 milestone Sep 12, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modifies the BPF (Berkeley Packet Filter) dataplane to store DSCP (Differentiated Services Code Point) values in connection tracking entries instead of using a separate cluster external flag. The change aims to improve QoS (Quality of Service) handling by directly associating DSCP values with connection tracking state.

Key changes:

  • Removes the CALI_ST_CLUSTER_EXTERNAL flag and FlagClusterExternal from conntrack
  • Adds DSCP field to conntrack structures and creates DSCP values directly in conntrack entries
  • Updates test expectations to remove cluster external flag assertions

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
felix/bpf/ut/nat_test.go Updates test expectations to remove FlagClusterExternal assertions
felix/bpf/ut/icmp_too_big_test.go Updates test expectations to remove FlagClusterExternal assertion
felix/bpf/conntrack/v3/map.go Removes FlagClusterExternal constant definition
felix/bpf-gpl/types.h Removes CALI_ST_CLUSTER_EXTERNAL flag definition
felix/bpf-gpl/tc.c Replaces cluster external flag logic with direct DSCP assignment
felix/bpf-gpl/qos.h Removes qos_dscp_needs_update function and simplifies DSCP logic
felix/bpf-gpl/conntrack_types.h Adds dscp field to conntrack structures and removes cluster external flag
felix/bpf-gpl/conntrack.h Updates conntrack creation to include DSCP values

@github-actions
Copy link
Contributor

This PR is stale because it has been open for 60 days with no activity.

@github-actions github-actions bot added the stale Issues without recent activity label Nov 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-not-required Docs not required for this change release-note-not-required Change has no user-facing impact stale Issues without recent activity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants