Skip to content

Commit fe4444c

Browse files
committed
[NXOS] fix: do not delete icmp redirection config
Check if interface is a switchport before attempting to remove its icmp redirect configuration.
1 parent b69b373 commit fe4444c

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

internal/provider/cisco/nxos/provider.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -947,9 +947,10 @@ func (p *Provider) EnsureInterface(ctx context.Context, req *provider.EnsureInte
947947
conf = append(conf, addr)
948948
}
949949

950-
bfd := new(BFD)
951-
bfd.ID = name
952950
if req.Interface.Spec.BFD != nil {
951+
bfd := new(BFD)
952+
bfd.ID = name
953+
953954
f := new(Feature)
954955
f.Name = "bfd"
955956
f.AdminSt = AdminStEnabled
@@ -985,8 +986,10 @@ func (p *Provider) EnsureInterface(ctx context.Context, req *provider.EnsureInte
985986
icmp.ID = name
986987
switch req.Interface.Spec.Type {
987988
case v1alpha1.InterfaceTypePhysical:
988-
if err := p.client.Delete(ctx, icmp); err != nil {
989-
return err
989+
if req.Interface.Spec.Switchport == nil {
990+
if err := p.client.Delete(ctx, icmp); err != nil {
991+
return err
992+
}
990993
}
991994
case v1alpha1.InterfaceTypeLoopback:
992995
icmp.Ctrl = "port-unreachable,redirect"
@@ -1119,7 +1122,7 @@ func (p *Provider) GetInterfaceStatus(ctx context.Context, req *provider.Interfa
11191122
}
11201123

11211124
return provider.InterfaceStatus{
1122-
OperStatus: operSt == OperStUp,
1125+
OperStatus: operSt == OperStUp || operSt == OperStLinkUp,
11231126
OperMessage: operMsg,
11241127
}, nil
11251128
}

0 commit comments

Comments
 (0)