Page MenuHomeVyOS Platform

Routing config broken if mpls config exists
Closed, ResolvedPublicBUG

Description

The Routing config is broken if mpls config exists
report from forum
to reproduce

set interfaces ethernet eth1 address '192.0.2.1/24'
set protocols mpls interface 'eth1'
set protocols mpls ldp discovery transport-ipv4-address '192.0.2.1'
set protocols mpls ldp export ipv4 explicit-null
set protocols mpls ldp interface 'eth1'
set protocols mpls ldp router-id '192.0.2.1'
commit
set protocols bgp system-as 65001
commit

commit

[email protected]# set protocols bgp system-as 65001
[edit]
[email protected]# commit
[ protocols bgp ]
load_configuration: Configuration loaded from FRR daemon zebra
load_configuration:  loaded      0 !
load_configuration:  loaded      1 frr version 8.4.1
load_configuration:  loaded      2 frr defaults traditional
load_configuration:  loaded      3 hostname r14
load_configuration:  loaded      4 log syslog
load_configuration:  loaded      5 log facility local7
load_configuration:  loaded      6 service integrated-vtysh-config
load_configuration:  loaded      7 !
load_configuration:  loaded      8 interface eth1
load_configuration:  loaded      9  mpls
load_configuration:  loaded     10 exit
load_configuration:  loaded     11 !
load_configuration:  loaded     12 end
modify_section: starting search for '(\\s+)?ip protocol bgp route-map [-a-zA-Z0-9.]+' until '(\\s|!)'
_find_first_block: find start='(\\s+)?ip protocol bgp route-map [-a-zA-Z0-9.]+$' stop='(\\s|!)' start_at=0
_find_first_block: no match       0 "!"
_find_first_block: no match       1 "frr version 8.4.1"
_find_first_block: no match       2 "frr defaults traditional"
_find_first_block: no match       3 "hostname r14"
_find_first_block: no match       4 "log syslog"
_find_first_block: no match       5 "log facility local7"
_find_first_block: no match       6 "service integrated-vtysh-config"
_find_first_block: no match       7 "!"
_find_first_block: no match       8 "interface eth1"
_find_first_block: no match       9 " mpls"
_find_first_block: no match      10 "exit"
_find_first_block: no match      11 "!"
_find_first_block: no match      12 "end"
_find_first_block: exit start={repr(start_pattern)} stop={repr(stop_pattern)} start_at={start_at}
modify_section: No more config sections found, exiting
_find_first_element: find start="(ip prefix-list .*|route-map .*|line vty|end)" start_at=0
_find_first_element: no match     0 "!"
_find_first_element: no match     1 "frr version 8.4.1"
_find_first_element: no match     2 "frr defaults traditional"
_find_first_element: no match     3 "hostname r14"
_find_first_element: no match     4 "log syslog"
_find_first_element: no match     5 "log facility local7"
_find_first_element: no match     6 "service integrated-vtysh-config"
_find_first_element: no match     7 "!"
_find_first_element: no match     8 "interface eth1"
_find_first_element: no match     9 " mpls"
_find_first_element: no match    10 "exit"
_find_first_element: no match    11 "!"
_find_first_element: Found stop  12 "end"
add_before:   add           12 !
add_before:   add           13 !
commit_configuration:  Commiting configuration
commit_configuration: new_config   0 !
commit_configuration: new_config   1 frr version 8.4.1
commit_configuration: new_config   2 frr defaults traditional
commit_configuration: new_config   3 hostname r14
commit_configuration: new_config   4 log syslog
commit_configuration: new_config   5 log facility local7
commit_configuration: new_config   6 service integrated-vtysh-config
commit_configuration: new_config   7 !
commit_configuration: new_config   8 interface eth1
commit_configuration: new_config   9  mpls
commit_configuration: new_config  10 exit
commit_configuration: new_config  11 !
commit_configuration: new_config  12 !
commit_configuration: new_config  13 !
commit_configuration: new_config  14 end
reload_configuration: Reloading config using temporary file: /tmp/tmpvkcx5r9c
reload_configuration: Executing command against frr-reload: "/usr/lib/frr/frr-reload.py --reload --daemon zebra --debug --stdout /tmp/tmpvkcx5r9c"
frr-reload output:   0 2022-11-26 12:17:36,286  INFO: Called via "Namespace(input=None, reload=True, test=False, debug=True, log_level='info', stdout=True, pathspace=None, filename='/tmp/tmpvkcx5r9c', overwrite=False, bindir='/usr/bin', confdir='/etc/frr', rundir='/var/run/frr', vty_socket=None, daemon='zebra', test_reset=False)"
frr-reload output:   1 2022-11-26 12:17:36,287  INFO: Loading Config object from file /tmp/tmpvkcx5r9c
frr-reload output:   2 2022-11-26 12:17:36,317   ERROR: vtysh failed to process new configuration: vtysh (mark file) exited with status 4:
frr-reload output:   3 b'line 10: % Command incomplete:  mpls\n\n'
reload_configuration: Reloading config using temporary file: /tmp/tmplqd6gzq6
reload_configuration: Executing command against frr-reload: "/usr/lib/frr/frr-reload.py --reload --daemon zebra --debug --stdout /tmp/tmplqd6gzq6"
frr-reload output:   0 2022-11-26 12:17:36,390  INFO: Called via "Namespace(input=None, reload=True, test=False, debug=True, log_level='info', stdout=True, pathspace=None, filename='/tmp/tmplqd6gzq6', overwrite=False, bindir='/usr/bin', confdir='/etc/frr', rundir='/var/run/frr', vty_socket=None, daemon='zebra', test_reset=False)"
frr-reload output:   1 2022-11-26 12:17:36,391  INFO: Loading Config object from file /tmp/tmplqd6gzq6
frr-reload output:   2 2022-11-26 12:17:36,422   ERROR: vtysh failed to process new configuration: vtysh (mark file) exited with status 4:
frr-reload output:   3 b'line 10: % Command incomplete:  mpls\n\n'
reload_configuration: Reloading config using temporary file: /tmp/tmpex2__5ha
reload_configuration: Executing command against frr-reload: "/usr/lib/frr/frr-reload.py --reload --daemon zebra --debug --stdout /tmp/tmpex2__5ha"
frr-reload output:   0 2022-11-26 12:17:36,501  INFO: Called via "Namespace(input=None, reload=True, test=False, debug=True, log_level='info', stdout=True, pathspace=None, filename='/tmp/tmpex2__5ha', overwrite=False, bindir='/usr/bin', confdir='/etc/frr', rundir='/var/run/frr', vty_socket=None, daemon='zebra', test_reset=False)"
frr-reload output:   1 2022-11-26 12:17:36,501  INFO: Loading Config object from file /tmp/tmpex2__5ha
frr-reload output:   2 2022-11-26 12:17:36,530   ERROR: vtysh failed to process new configuration: vtysh (mark file) exited with status 4:
frr-reload output:   3 b'line 10: % Command incomplete:  mpls\n\n'
reload_configuration: Reloading config using temporary file: /tmp/tmpik0f9h7p
reload_configuration: Executing command against frr-reload: "/usr/lib/frr/frr-reload.py --reload --daemon zebra --debug --stdout /tmp/tmpik0f9h7p"
frr-reload output:   0 2022-11-26 12:17:36,602  INFO: Called via "Namespace(input=None, reload=True, test=False, debug=True, log_level='info', stdout=True, pathspace=None, filename='/tmp/tmpik0f9h7p', overwrite=False, bindir='/usr/bin', confdir='/etc/frr', rundir='/var/run/frr', vty_socket=None, daemon='zebra', test_reset=False)"
frr-reload output:   1 2022-11-26 12:17:36,602  INFO: Loading Config object from file /tmp/tmpik0f9h7p
frr-reload output:   2 2022-11-26 12:17:36,631   ERROR: vtysh failed to process new configuration: vtysh (mark file) exited with status 4:
frr-reload output:   3 b'line 10: % Command incomplete:  mpls\n\n'
reload_configuration: Reloading config using temporary file: /tmp/tmpq3pm0chs
reload_configuration: Executing command against frr-reload: "/usr/lib/frr/frr-reload.py --reload --daemon zebra --debug --stdout /tmp/tmpq3pm0chs"
frr-reload output:   0 2022-11-26 12:17:36,705  INFO: Called via "Namespace(input=None, reload=True, test=False, debug=True, log_level='info', stdout=True, pathspace=None, filename='/tmp/tmpq3pm0chs', overwrite=False, bindir='/usr/bin', confdir='/etc/frr', rundir='/var/run/frr', vty_socket=None, daemon='zebra', test_reset=False)"
frr-reload output:   1 2022-11-26 12:17:36,705  INFO: Loading Config object from file /tmp/tmpq3pm0chs
frr-reload output:   2 2022-11-26 12:17:36,732   ERROR: vtysh failed to process new configuration: vtysh (mark file) exited with status 4:
frr-reload output:   3 b'line 10: % Command incomplete:  mpls\n\n'
VyOS had an issue completing a command.

We are sorry that you encountered a problem while using VyOS.
There are a few things you can do to help us (and yourself):
- Contact us using the online help desk if you have a subscription:
  https://support.vyos.io/
- Make sure you are running the latest version of VyOS available at:
  https://vyos.net/get/
- Consult the community forum to see how to handle this issue:
  https://forum.vyos.io
- Join us on Slack where our users exchange help and advice:
  https://vyos.slack.com

When reporting problems, please include as much information as possible:
- do not obfuscate any data (feel free to contact us privately if your 
  business policy requires it)
- and include all the information presented below

Report time:      2022-11-26 12:17:36
Image version:    VyOS 1.4-rolling-202211250318
Release train:    current

Built by:         [email protected]
Built on:         Fri 25 Nov 2022 03:18 UTC
Build UUID:       39c2acd7-6f92-4e5d-bc6a-aac2c2b640ad
Build commit ID:  ef7d02b09c49b4

Architecture:     x86_64
Boot via:         installed image
System type:      KVM guest

Hardware vendor:  QEMU
Hardware model:   Standard PC (Q35 + ICH9, 2009)
Hardware S/N:     
Hardware UUID:    4d6f4d29-1ae8-446f-8d2b-3decd9da64c7

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/protocols_bgp.py", line 388, in <module>
    apply(c)
  File "/usr/libexec/vyos/conf_mode/protocols_bgp.py", line 367, in apply
    frr_cfg.commit_configuration(zebra_daemon)
  File "/usr/lib/python3/dist-packages/vyos/frr.py", line 480, in commit_configuration
    raise ConfigurationNotValid(f'Config commit retry counter ({count_max}) exceeded')
vyos.frr.ConfigurationNotValid: Config commit retry counter (5) exceeded



[[protocols bgp]] failed
Commit failed
[edit]
[email protected]#

Details

Difficulty level
Normal (likely a few hours)
Version
VyOS 1.4-rolling-202211250318
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

It will be enough next config to reproduce:

set protocols mpls interface 'eth1'
commit
set protocols bgp system-as 65001
commit

Fixed in latest 1.4 rolling