Skip to content

NetworkRule backend port is accepted but ignored #737

Closed

Description

@privateip

Summary

Each NetworkRule backend has its own port, but the gateway never uses it. The datapath rewrites nothing, so a packet reaches the backend on the VIP's port whatever the backend's port says. A rule whose backend port differs from the rule's port is accepted and looks healthy, but the backend never sees traffic on the port it was configured with.

Direct Server Return can't remap ports, and port remapping is a non-goal for the network load balancer (#698).

Acceptance criteria

  • Admission refuses a NetworkRule whose backend port differs from the rule's port, with a message that says DSR can't remap ports
  • The API docs for the backend port say it must match the rule's port, or the field is removed
  • A test covers the refusal

Phase 1 of #698.

Activity

  1. added theissue type on Oct 5, 2026
  2. privateip commented on Oct 9, 2026

    @privateip
    CollaboratorAuthor

    Port remapping is supported, so this is fixed rather than something to refuse.

    Since #809, galactic-router builds a ServiceVIPBinding for each selected backend using the rule's spec.backendPort. On the backend's node, usid_ingress rewrites the destination from VIP:port to backend:backendPort through vip_xlat_table, and usid_egress reverses the rewrite on replies. The rewrite happens on the backend's node, not at the edge, so Direct Server Return still holds.

    network#29 and network#31 also replaced per-backend ports with a single spec.backendPort per rule, which is the field this applies to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggalactic-gatewayRelated to galactic-gateway

    Type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions