Skip to content

Removing a port from a VLAN filtering bridge is broken #869

@wkz

Description

@wkz

Current Behavior

When operating on candidate, we should infer the removal of all VLAN memberships associated with a port being removed from the bridge.

But even if that is manually done, it is not possible to detach the port in a single transaction:

admin@infix-ad-00-00:/> configure admin@infix-ad-00-00:/config/> no interface e2 bridge-port admin@infix-ad-00-00:/config/> no interface br0 bridge vlans vlan 1 untagged e2 admin@infix-ad-00-00:/config/> leave Error: EV ORIGIN: SHM event "done" ID 2 processing timed out. Error: Can't commit to running-config 

Whereas if we split it in two transactions, it works fine:

​admin@infix-ad-00-00:/> configure admin@infix-ad-00-00:/config/> no interface br0 bridge vlans vlan 1 untagged e2 admin@infix-ad-00-00:/config/> leave admin@infix-ad-00-00:/> configure admin@infix-ad-00-00:/config/> no interface e2 bridge-port admin@infix-ad-00-00:/config/> leave 

This has to do with the fact that confd will incorrectly generate the VLAN deletions in the init action of the new config generation, rather than in the exit action of the previous one.

Expected Behavior

admin@infix-ad-00-00:/> configure admin@infix-ad-00-00:/config/> no interface e2 bridge-port admin@infix-ad-00-00:/config/> no interface br0 bridge vlans vlan 1 untagged e2 admin@infix-ad-00-00:/config/> leave 

Should work

Steps To Reproduce

From the CLI:

  1. Create a VLAN bridge, attach a port to it, add it to a VLAN
  2. Remove the port

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions