From ecfb3916c38b07477972e0390b033f1233246e0d Mon Sep 17 00:00:00 2001 From: Robert Gildein Date: Tue, 18 Aug 2026 17:30:26 +0200 Subject: [PATCH] feat: Add OSPF placeholder for OpenConfig The Nokia SRL device do not support configuration of OSPFv2 or OSPFv3 throw OpenConfig, only throw native native data schema. Signed-off-by: Robert Gildein --- internal/provider/openconfig/ospf.go | 28 ++++++++++++++++++++++++++ test/gnmi/testdata/openconfig/ospf.txt | 23 +++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 internal/provider/openconfig/ospf.go create mode 100644 test/gnmi/testdata/openconfig/ospf.txt diff --git a/internal/provider/openconfig/ospf.go b/internal/provider/openconfig/ospf.go new file mode 100644 index 000000000..6e360ac71 --- /dev/null +++ b/internal/provider/openconfig/ospf.go @@ -0,0 +1,28 @@ +// SPDX-FileCopyrightText: 2026 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package openconfig + +import ( + "context" + + "github.com/ironcore-dev/network-operator/internal/apistatus" + "github.com/ironcore-dev/network-operator/internal/provider" +) + +var _ provider.OSPFProvider = (*Provider)(nil) + +func (p *Provider) EnsureOSPF(_ context.Context, _ *provider.EnsureOSPFRequest) error { + return apistatus.NewUnsupportedFieldError(apistatus.FieldViolation{ + Field: "spec", + Description: "openconfig provider does not support OSPF configuration on SRLinux", + }) +} + +func (p *Provider) DeleteOSPF(_ context.Context, _ *provider.DeleteOSPFRequest) error { + return nil +} + +func (p *Provider) GetOSPFStatus(_ context.Context, _ *provider.OSPFStatusRequest) (provider.OSPFStatus, error) { + return provider.OSPFStatus{}, nil +} diff --git a/test/gnmi/testdata/openconfig/ospf.txt b/test/gnmi/testdata/openconfig/ospf.txt new file mode 100644 index 000000000..0b126e05b --- /dev/null +++ b/test/gnmi/testdata/openconfig/ospf.txt @@ -0,0 +1,23 @@ +# OSPF Configuration +# NOTE: OSPF via OpenConfig gNMI is not supported on Nokia SR Linux. +# The OpenConfig ospfv2 container is defined in the YANG model but not +# exposed in the Nokia SRL gNMI schema. EnsureOSPF returns UnsupportedField. +-- ospf/ospf -- +apiVersion: networking.metal.ironcore.dev/v1alpha1 +kind: OSPF +metadata: + name: ospf + namespace: default +spec: + deviceRef: + name: device + instance: UNDERLAY + routerId: 10.0.0.10 + interfaceRefs: + - name: lo0 + area: "0.0.0.0" + passive: true + - name: ethernet-1-1 + area: "0.0.0.0" +-- state -- +{}