Skip to content

feat: add interface name abstraction and alias management#104

Merged
byteocean merged 8 commits intomainfrom
enh/neutral-naming
Apr 17, 2026
Merged

feat: add interface name abstraction and alias management#104
byteocean merged 8 commits intomainfrom
enh/neutral-naming

Conversation

@Giluerre
Copy link
Copy Markdown
Contributor

@Giluerre Giluerre commented Apr 7, 2026

Proposed Changes

This commit introduces a name abstraction layer between SONiC's native interface names (e.g. Ethernet0) and abstract names (e.g. eth0-0), along with the
ability to set interface alias names. Key changes:

  • Proto/gRPC: Added native_name, alias_name fields to Interface message; new SetInterfaceAliasName RPC; new SaveConfig RPC (gNOI-style)
  • SONiC agent: SaveConfig now uses D-Bus (org.SONiC.HostService) instead of shelling out to config save; ListInterfaces reads oper status from APPL_DB instead of STATE_DB; populates native_name and alias_name per interface
  • Name conversion utils: New NativeNameToAbstractName/AbstractNameToNativeName helpers (Ethernet0 <-> eth0-0)
  • SwitchInterface CRD: Added nativeName to spec and aliasName to status; added Initializing state
  • Controller: Reconciler now syncs interface alias name to spec.handle if mismatched, and uses nativeName for admin-status/neighbor lookups
  • CLI: New gnoi save-config subcommand

Fixes #
#82
#50

  This commit introduces a name abstraction layer between SONiC's native interface names (e.g. Ethernet0) and abstract names (e.g. eth0-0), along with the
  ability to set interface alias names. Key changes:

  - Proto/gRPC: Added native_name, alias_name fields to Interface message; new SetInterfaceAliasName RPC; new SaveConfig RPC (gNOI-style)
  - SONiC agent: SaveConfig now uses D-Bus (org.SONiC.HostService) instead of shelling out to config save; ListInterfaces reads oper status from APPL_DB
  instead of STATE_DB; populates native_name and alias_name per interface
  - Name conversion utils: New NativeNameToAbstractName/AbstractNameToNativeName helpers (Ethernet0 <-> eth0-0)
  - SwitchInterface CRD: Added nativeName to spec and aliasName to status; added Initializing state
  - Controller: Reconciler now syncs interface alias name to spec.handle if mismatched, and uses nativeName for admin-status/neighbor lookups
  - CLI: New gnoi save-config subcommand

Signed-off-by: Daniel Beres <daniel.beres@sap.com>
@github-actions github-actions bot added size/XXL api-change enhancement New feature or request labels Apr 7, 2026
@hardikdr hardikdr added the area/switch-automation Automation processes for network switch management and operations. label Apr 7, 2026
@hardikdr hardikdr added this to Roadmap Apr 7, 2026
Giluerre and others added 4 commits April 7, 2026 09:31
Signed-off-by: Daniel Beres <daniel.beres@sap.com>
Signed-off-by: Daniel Beres <daniel.beres@sap.com>
Signed-off-by: Daniel Beres <daniel.beres@sap.com>
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Apr 7, 2026
Signed-off-by: Daniel Beres <daniel.beres@sap.com>
Daniel Beres added 2 commits April 16, 2026 16:13
Signed-off-by: Daniel Beres <daniel.beres@sap.com>
…latest published version

Signed-off-by: Daniel Beres <daniel.beres@sap.com>
Copy link
Copy Markdown
Contributor

@byteocean byteocean left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on spine2. LGTM. Thanks a lot.

@byteocean byteocean merged commit db1f2bd into main Apr 17, 2026
11 checks passed
@byteocean byteocean deleted the enh/neutral-naming branch April 17, 2026 09:30
@github-project-automation github-project-automation bot moved this to Done in Roadmap Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-change area/switch-automation Automation processes for network switch management and operations. documentation Improvements or additions to documentation enhancement New feature or request ok-to-image size/XXL

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants