Skip to content

networking.v2.Port: Missing pointer on PropagateUplinkStatus #3605

Description

@winiciusallan

What happened?

The PropagateUplinkStatus is a field that is activated when uplink_status_propagation extension is enabled on Neutron's side. That field has a missing pointer in the Port result struct, which may cause a inconsistent behavior: if the extension is not enabled, Gophercloud will return false as the field value anyway.

We can not fix this without introducing a breaking change, so my suggestion is to move the PropagateUplinkStatus to a separated extension instead of just adding the missing pointer.

Version

v2 (current)

Activity

  1. kayrus commented on Jan 15, 2026

    @kayrus
    Contributor

    I guess we need to introduce a new extension like it's done with portsecurity. As a workaround, existing v2 client can implement something like:

    type MyPortExt struct {
            PropagateUplinkStatusPtr *bool `json:"propagate_uplink_status"`
    }
    
    var s struct {
            ports.Port
            MyPortExt
    }
    
    err := ports.Get(ctx, client, portID).ExtractInto(&s)
    ... ... ...
    
    if s.PropagateUplinkStatusPtr != nil {
    ... ... ...
  2. mandre commented on Jan 15, 2026

    @mandre
    Contributor

    That's actually a nice workaround, I hadn't thought of it. Thanks @kayrus for the hint.

  3. winiciusallan commented on Jan 15, 2026

    @winiciusallan
    ContributorAuthor

    @kayrus Thanks for the hint, this must work.

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

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions