Skip to content

Failed to Delete Interval Settings from BFD Profile #16899

Closed
@HollyGurza

Description

Description

The reload configuration fails when attempting to remove the echo transmit-interval or echo receive-interval parameters from a bfd profile. However, if the configuration is initially applied without these parameters, the reload is successful. Afterward, the parameters can be added, but they cannot be deleted.

# sudo /usr/lib/frr/frr-reload.py --reload --daemon bfdd tmp_config
Failed to execute bfd  profile internal   no echo transmit-interval 700  exit exit
"bfd --  profile internal --   no echo transmit-interval 700 --  exit -- exit" we failed to remove this command
% Unknown command:   no echo transmit-interval 700

Failed to execute bfd  profile internal   no echo receive-interval 700  exit exit
"bfd --  profile internal --   no echo receive-interval 700 --  exit -- exit" we failed to remove this command
% Unknown command:   no echo receive-interval 700

[7719|mgmtd] sending configuration
[7720|zebra] sending configuration
[7721|ripd] sending configuration
[7722|ripngd] sending configuration
[7723|ospfd] sending configuration
[7724|ospf6d] sending configuration
[7725|ldpd] sending configuration
[7726|bgpd] sending configuration
[7727|isisd] sending configuration
[7720|zebra] done
MGMTD: No changes found to be committed!
[7721|ripd] done
[7722|ripngd] done
[7719|mgmtd] done
[7723|ospfd] done
[7724|ospf6d] done
[7731|babeld] sending configuration
[7725|ldpd] done
[7733|fabricd] sending configuration
[7727|isisd] done
[7734|watchfrr] sending configuration
[7726|bgpd] done
[7736|staticd] sending configuration
[7737|bfdd] sending configuration
Waiting for children to finish applying config...
[7731|babeld] done
[7740|pim6d] sending configuration
[7734|watchfrr] done
[7733|fabricd] done
[7736|staticd] done
[7737|bfdd] done
[7740|pim6d] done
[7744|mgmtd] sending configuration
[7745|zebra] sending configuration
[7746|ripd] sending configuration
[7747|ripngd] sending configuration
[7748|ospfd] sending configuration
[7749|ospf6d] sending configuration
[7750|ldpd] sending configuration
[7751|bgpd] sending configuration
[7752|isisd] sending configuration
[7756|babeld] sending configuration
[7758|fabricd] sending configuration
[7759|watchfrr] sending configuration
[7745|zebra] done
[7747|ripngd] done
[7748|ospfd] done
MGMTD: No changes found to be committed!
[7751|bgpd] done
[7750|ldpd] done
[7746|ripd] done
[7744|mgmtd] done
[7749|ospf6d] done
[7752|isisd] done
[7759|watchfrr] done
[7761|staticd] sending configuration
[7762|bfdd] sending configuration
[7758|fabricd] done
[7756|babeld] done
Waiting for children to finish applying config...
[7765|pim6d] sending configuration
[7762|bfdd] done
[7761|staticd] done
[7765|pim6d] done

Version

vtysh -c "show version"
FRRouting 9.1.1 (vyos) on Linux(6.6.49-amd64-vyos).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
configured with:
    '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-option-checking' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--localstatedir=/var/run/frr' '--sbindir=/usr/lib/frr' '--sysconfdir=/etc/frr' '--with-vtysh-pager=/usr/bin/pager' '--libdir=/usr/lib/x86_64-linux-gnu/frr' '--with-moduledir=/usr/lib/x86_64-linux-gnu/frr/modules' '--disable-dependency-tracking' '--enable-rpki' '--enable-scripting' '--enable-pim6d' '--with-libpam' '--enable-doc' '--enable-doc-html' '--enable-snmp' '--enable-fpm' '--disable-protobuf' '--disable-zeromq' '--enable-ospfapi' '--enable-bgp-vnc' '--enable-multipath=256' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' '--enable-configfile-mask=0640' '--enable-logfile-mask=0640' 'build_alias=x86_64-linux-gnu' 'PYTHON=python3'

How to reproduce

I have two config files as examples:
first:

!
frr version 9.1.1
frr defaults traditional
hostname vyos
log syslog
log facility local7
service integrated-vtysh-config
!
ip route 0.0.0.0/0 192.168.122.1 eth0 tag 210 210
!
rpki
exit
!
bfd
 profile internal
  echo-mode
 exit
 !
 peer 45.86.210.211 interface tun1
  profile internal
 exit
 !
exit
!
end

second:

!
frr version 9.1.1
frr defaults traditional
hostname vyos
log syslog
log facility local7
service integrated-vtysh-config
!
ip route 0.0.0.0/0 192.168.122.1 eth0 tag 210 210
!
rpki
exit
!
bfd
 profile internal
  echo-mode
  echo transmit-interval 700
  echo receive-interval 700
 exit
 !
 peer 45.86.210.211 interface tun1
  profile internal
 exit
 !
exit
!
end

steps to reproduce:

  1. apply first config:
    /usr/lib/frr/frr-reload.py --reload --daemon bfdd first
  2. apply the second cofig with additional interval params
    /usr/lib/frr/frr-reload.py --reload --daemon bfdd second
  3. apply first config again to delete interval params
    /usr/lib/frr/frr-reload.py --reload --daemon bfdd first

Expected behavior

Both configurations are applied successfully regardless of the calling sequence.

Actual behavior

can't delete information about interval setting:

Failed to execute bfd  profile internal   no echo transmit-interval 700  exit exit
"bfd --  profile internal --   no echo transmit-interval 700 --  exit -- exit" we failed to remove this command
% Unknown command:   no echo transmit-interval 700

Failed to execute bfd  profile internal   no echo receive-interval 700  exit exit
"bfd --  profile internal --   no echo receive-interval 700 --  exit -- exit" we failed to remove this command
% Unknown command:   no echo receive-interval 700

Additional context

No response

Checklist

  • I have searched the open issues for this bug.
  • I have not included sensitive information in this report.

Activity

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

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions