Skip to content

Commit 35d7a78

Browse files
fixup! feat: Add Cisco IOS-XR Provider and implement interface stubs
1 parent d4ac1a6 commit 35d7a78

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

internal/provider/cisco/iosxr/provider.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ func (p *Provider) Disconnect(ctx context.Context, conn *deviceutil.Connection)
4242
return p.conn.Close()
4343
}
4444

45-
func (p *Provider) EnsureInterface(ctx context.Context, req *provider.InterfaceRequest) (provider.Result, error) {
45+
func (p *Provider) EnsureInterface(ctx context.Context, req *provider.InterfaceRequest) error {
4646
if p.client == nil {
47-
return provider.Result{}, fmt.Errorf("client is not connected")
47+
return fmt.Errorf("client is not connected")
4848
}
4949
var name string = req.Interface.Spec.Name
5050

@@ -56,7 +56,7 @@ func (p *Provider) EnsureInterface(ctx context.Context, req *provider.InterfaceR
5656
physif.Statistics.LoadInterval = 30
5757
owner, err := ExractMTUOwnerFromIfaceName(name)
5858
if err != nil {
59-
return provider.Result{}, fmt.Errorf("failed to extract MTU owner from interface name %s: %w", name, err)
59+
return fmt.Errorf("failed to extract MTU owner from interface name %s: %w", name, err)
6060
}
6161
physif.MTUs = MTUs{MTU: []MTU{{MTU: uint16(req.Interface.Spec.MTU), Owner: string(owner)}}}
6262

@@ -67,18 +67,18 @@ func (p *Provider) EnsureInterface(ctx context.Context, req *provider.InterfaceR
6767
physif.Statistics.LoadInterval = uint8(30)
6868

6969
if len(req.Interface.Spec.IPv4Addresses) == 0 {
70-
return provider.Result{}, fmt.Errorf("no IPv4 address configured for interface %s", name)
70+
return fmt.Errorf("no IPv4 address configured for interface %s", name)
7171
}
7272

7373
if len(req.Interface.Spec.IPv4Addresses) > 1 {
74-
return provider.Result{}, fmt.Errorf("only a single primary IPv4 address is supported for interface %s", name)
74+
return fmt.Errorf("only a single primary IPv4 address is supported for interface %s", name)
7575
}
7676

7777
// (fixme): support IPv6 addresses, IPv6 neighbor config
7878

7979
ip, ipNet, err := net.ParseCIDR(req.Interface.Spec.IPv4Addresses[0])
8080
if err != nil {
81-
return provider.Result{}, fmt.Errorf("failed to parse IPv4 address %s: %w", req.Interface.Spec.IPv4Addresses[0], err)
81+
return fmt.Errorf("failed to parse IPv4 address %s: %w", req.Interface.Spec.IPv4Addresses[0], err)
8282
}
8383

8484
physif.IPv4Network = IPv4Network{
@@ -97,18 +97,18 @@ func (p *Provider) EnsureInterface(ctx context.Context, req *provider.InterfaceR
9797
// Interface does not exist, create it
9898
err = p.client.Update(ctx, physif)
9999
if err != nil {
100-
return provider.Result{}, fmt.Errorf("failed to create interface %s: %w", req.Interface.Spec.Name, err)
100+
return fmt.Errorf("failed to create interface %s: %w", req.Interface.Spec.Name, err)
101101
}
102102
fmt.Printf("Interface %s created successfully\n", req.Interface.Spec.Name)
103-
return provider.Result{}, nil
103+
return nil
104104
}
105105

106106
err = p.client.Patch(ctx, physif)
107107
if err != nil {
108-
return provider.Result{}, err
108+
return err
109109
}
110110

111-
return provider.Result{}, nil
111+
return nil
112112
}
113113

114114
func (p *Provider) DeleteInterface(ctx context.Context, req *provider.InterfaceRequest) error {

0 commit comments

Comments
 (0)