Skip to content

Conversation

@changlei-li
Copy link
Contributor

After RPU from legacy network device name, the name in PIF object should be updated. The new network device name is in interface_tables.device_to_position_table. The position of old device name in PIF object can be get by its associated bridge and then correspond with the new name.
In this procedure, an existing bridge is used to get the position. However, the bridge is used to update MTU. It is specially handled when the device is under a bond. The bridge is actually the parent bond bridge. This leads to no position is found for old device name and then device name is not updated correctly.
Fix: use the associated bridge to find the position.

@changlei-li
Copy link
Contributor Author

Before fix:

Aug 18 09:10:38 localhost xapi: [ info||0 |dbsync (update_env) R:969c9d5711cd|xapi] PIF: device name changed from eth3 to eno12429np3
Aug 18 09:10:38 localhost xapi: [ info||0 |dbsync (update_env) R:969c9d5711cd|xapi] PIF eth1: no position found for this device
Aug 18 09:10:38 localhost xapi: [ info||0 |dbsync (update_env) R:969c9d5711cd|xapi] PIF: device name changed from eth2 to eno12419np2
Aug 18 09:10:38 localhost xapi: [ info||0 |dbsync (update_env) R:969c9d5711cd|xapi] PIF eth0: no position found for this device

After fix:

Aug 22 07:40:35 localhost xapi: [ info||0 |dbsync (update_env) R:b1167b711e5e|xapi] PIF: device name changed from eth0 to eno12399np0
Aug 22 07:40:35 localhost xapi: [ info||0 |dbsync (update_env) R:b1167b711e5e|xapi] PIF: device name changed from eth2 to eno12419np2
Aug 22 07:40:35 localhost xapi: [ info||0 |dbsync (update_env) R:b1167b711e5e|xapi] PIF: device name changed from eth1 to eno12409np1
Aug 22 07:40:35 localhost xapi: [ info||0 |dbsync (update_env) R:b1167b711e5e|xapi] PIF: device name changed from eth3 to eno12429np3

@changlei-li
Copy link
Contributor Author

The CI fail should be fixed after sync master PR #6605

After RPU from legacy network device name, the name in PIF
object should be updated. The new network device name is
in interface_tables.device_to_position_table. The position
of old device name in PIF object can be get by its associated
bridge and then correspond with the new name.
In this procedure, a exsiting bridge is used to get the position.
However, the bridge is used to update MTU. It is specially
handled when the device is under a bond. The bridge is actually
the parent bond bridge. This leads to no position is found for
old device name and then device name is not updated correctly.
Fix: use the associated bridge to find the position.

Signed-off-by: Changlei Li <changlei.li@cloud.com>
@changlei-li changlei-li force-pushed the private/changleli/CA-414651 branch from b931c52 to 43b3c15 Compare August 22, 2025 09:50
@changlei-li
Copy link
Contributor Author

changlei-li commented Aug 22, 2025

Rebased after feature branch sync with master

@changlei-li changlei-li requested a review from minglumlu August 22, 2025 09:55
@changlei-li changlei-li merged commit 61791ba into xapi-project:feature/host-network-device-ordering Aug 25, 2025
15 checks passed
@changlei-li changlei-li deleted the private/changleli/CA-414651 branch August 25, 2025 03:00
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.

4 participants