Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug] Static disaggregated worker addresses cannot round trip bracketed IPv6

Open Beginner friendly
#20,126 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@bojiang-li is already working on this.

Since Oct 12, 2026.

  • #20128 by @bojiang-li — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python

Research direction

Start with tensorrt_llm.llmapi.disagg_utils and the reproduction in the issue: trace how extract_ctx_gen_cfgs parses static worker URLs and how get_ctx_gen_server_addrs formats them. The issue reports source regression cases for context and generation workers, IPv4, DNS, IPv6, zone IDs, configuration objects, and invalid input; use those cases to check the fix. Done means bracketed IPv6 round trips while IPv4 and DNS behavior is preserved and ambiguous unbracketed input is rejected.

Written by the indexing model from the issue text.

Description

Disaggregated serving
Description

Static disaggregated worker addresses do not round trip bracketed IPv6 on main 9cb84a22bb8813a6dda42961723212f4b2765e8c.

from tensorrt_llm.llmapi.disagg_utils import (
    CtxGenServerConfig, extract_ctx_gen_cfgs, get_ctx_gen_server_addrs,
)

extract_ctx_gen_cfgs("ctx", urls=["[::1]:8000"])
# ValueError: too many values to unpack (expected 2)

get_ctx_gen_server_addrs([
    CtxGenServerConfig(type="ctx", hostname="::1", port=8000),
])
# (["::1:8000"], [])

The parser splits on every colon. The formatter omits the brackets needed around an IPv6 HTTP authority.

Proposed scope

Split the port from the right, normalize bracketed IPv6 hostnames, and restore brackets when formatting worker addresses. Preserve IPv4 and DNS behavior and reject ambiguous unbracketed input. This is a small address parsing fix. It does not add complete IPv6 support to disaggregated listeners or transports.

I have regression cases for context and generation workers, IPv4, DNS, IPv6, zone IDs, existing configuration objects, and invalid input. The isolated source tests fail on the IPv6 cases before the change and pass with the draft. Full package validation still needs the TensorRT-LLM build environment.

I checked #19544 and #19482. They cover listener binding and advertised host selection, rather than this static address round trip.

I will link a draft patch for scope feedback before requesting code review, per CONTRIBUTING.md.

Before submitting
  • Searched related issues and open PRs.
  • Included a minimal reproduction and proposed scope.
Dominant language
Python
Stars
14.8k
Forks
2.8k
Avg merge
3d 21h
Merged PRs (30d)
466

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA/TensorRT-LLM

All issues in NVIDIA/TensorRT-LLM

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.