Skip to content

qos_core: unify ports into system range#738

Draft
Turnalek wants to merge 1 commit into
mainfrom
ales/ports_unify
Draft

qos_core: unify ports into system range#738
Turnalek wants to merge 1 commit into
mainfrom
ales/ports_unify

Conversation

@Turnalek

Copy link
Copy Markdown
Contributor

Summary & Motivation (Problem vs. Solution)

Unifies our internal and external port structure with the following basic rule:

  1. Ports < 3000 are reserved "system" ports and are not to be used by pivot apps/users
  2. Ports >= 3000 are app ports to be used as users need

Currently we are operating these ports:

  1. vsock port 3 used by the enclave init/reaper and qos_host for boot instruction messaging
  2. vsock and tcp port 3000 used by pivot/app and qos_bridge as ingress default app port for app hosting functionality
  3. vsock and ip (both tcp and udp) port 1000 used by qos_bridge enclave-side and host-side for egress bridging

Since ports <= 1024 are only usable by root, and to unify our port structure better this PR changes:

  1. vsock port 3 is now 2000 - this enabled root-less local hosting for qemu runs
  2. vsock and ip port 1000 is now 2001 - this removes the qemu compile time feature switch and unifies things
  3. http port 3001 used by qos_host is now 2000 to match the control vsock port it forwards to and to free ports >= 3000 for app use

NOTE: this PR needs #737 merged and mono and tvc follow ups (TODO)

How I Tested These Changes

Locally so far

Pre merge check list

  • Call out updates and breaking changes via conventional commits
  • Communicate verification flow breaking changes especially thoroughly. If any of the following answers are no, then this is a verification flow breaking change:
    • Can enclaves in a previous QOS version still key forward to this new version?
    • Can previous versions of QOS verify attestations from this new version?
    • Can manifests generated by a previous version still be parsed by this one?
    • Can previous approvals still be verified against a manifest (i.e. is this a non-breaking change to the manifest signing payload)?
    • Can a previous version of QOS still perform a boot standard on an enclave of this version?

- port 2000 for control both qos_host http and vsock internal
- port 2001 for egress bridge
- port 3000+ for app/user use
@Turnalek Turnalek changed the title Ales/ports unify qos_core: unify ports into system range Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant