Skip to content

feat: introduce subinterface interface type#293

Open
sven-rosenzweig wants to merge 1 commit intomainfrom
subinterface_crd
Open

feat: introduce subinterface interface type#293
sven-rosenzweig wants to merge 1 commit intomainfrom
subinterface_crd

Conversation

@sven-rosenzweig
Copy link
Copy Markdown
Contributor

Add a new "subinterface" interface type to support Layer 3 subinterfaces. Layer 3 subinterfaces allow a single physical router interface to handle traffic from multiple VLANs by creating separate logical interfaces per VLAN.

Validation rules:

  • Encapsulation is allowed for subinterfaces only
  • Supported encapsulation types: 802.1Q and 802.1ad
  • Validate VLAN ID range
  • 802.1ad requires two VLAN IDs (outer and inner VLAN)
  • Subinterfaces cannot be configured as aggregate, switchport, or vlanRef

@hardikdr hardikdr added the area/switch-automation Automation processes for network switch management and operations. label Apr 11, 2026
@hardikdr hardikdr added this to Roadmap Apr 11, 2026
Add a new "subinterface" interface type to support Layer 3 subinterfaces.
Layer 3 subinterfaces allow a single physical router interface to handle
traffic from multiple VLANs by creating separate logical interfaces per VLAN.

Validation rules:
- Encapsulation is allowed for subinterfaces only
- Supported encapsulation types: 802.1Q and 802.1ad
- Validate VLAN ID range
- 802.1ad requires two VLAN IDs (outer and inner VLAN)
- Subinterfaces cannot be configured as aggregate, switchport, or vlanRef
@github-actions
Copy link
Copy Markdown

Merging this branch will not change overall coverage

Impacted Packages Coverage Δ 🤖
github.com/ironcore-dev/network-operator/api/core/v1alpha1 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/ironcore-dev/network-operator/api/core/v1alpha1/interface_types.go 0.00% (ø) 0 0 0
github.com/ironcore-dev/network-operator/api/core/v1alpha1/zz_generated.deepcopy.go 0.00% (ø) 0 0 0

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

@sven-rosenzweig sven-rosenzweig marked this pull request as ready for review April 16, 2026 10:20
@sven-rosenzweig sven-rosenzweig requested a review from a team as a code owner April 16, 2026 10:20
// +optional
Encapsulation *Encapsulation `json:"encapsulation,omitempty"`

// ParentInterfaceRef is a reference to the parent physical interface for this subinterface.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
// ParentInterfaceRef is a reference to the parent physical interface for this subinterface.
// ParentInterfaceRef is a reference to the parent interface for this subinterface.

I think also aggregate/bundle interfaces can have subinterfaces. So this doesn't only apply to physical interfaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/switch-automation Automation processes for network switch management and operations. size/L

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants