Skip to content

feat(neutron-understack): name the LAG of bonded baremetal ports - #2617

Draft
cardoe wants to merge 1 commit into
mainfrom
neutron-lag-name
Draft

cardoe wants to merge 1 commit into
mainfrom
neutron-lag-name

Conversation

@cardoe

@cardoe cardoe commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

A baremetal port with local_group_information is bonded. Derive its
port-channel name from the first local_link_information entry and store
it under local_group_information["lag"] in the binding profile, so
update_port_postcommit and delete_port_postcommit can read it.

The number is stateless: 1000 + port*10 + D, where D is the breakout lane
(0 if absent) plus 5 for the second switch of a pair. Only fixed-form
leaves are supported: slot must be 1, port 1-308, lane 1-4.

update_port_precommit generates the name when none is present and writes
it to the active binding inside the port update's transaction; an anchor
that cannot be named aborts the update. PortContext only holds a snapshot
of the binding, and ML2 drops profile changes made in bind_port, so the
write goes through the plugin context. Ports bound before this change
have no stored name, so postcommit derives it for them.

A baremetal port with local_group_information is bonded. Derive its
port-channel name from the first local_link_information entry and store
it under local_group_information["lag"] in the binding profile, so
update_port_postcommit and delete_port_postcommit can read it.

The number is stateless: 1000 + port*10 + D, where D is the breakout lane
(0 if absent) plus 5 for the second switch of a pair. Only fixed-form
leaves are supported: slot must be 1, port 1-308, lane 1-4.

update_port_precommit generates the name when none is present and writes
it to the active binding inside the port update's transaction; an anchor
that cannot be named aborts the update. PortContext only holds a snapshot
of the binding, and ML2 drops profile changes made in bind_port, so the
write goes through the plugin context. Ports bound before this change
have no stored name, so postcommit derives it for them.
@github-actions

Copy link
Copy Markdown

Python test results

497 tests   497 ✅  4s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 7212b51.

This branch has not been deployed

No deployments
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