Page MenuHomeVyOS Platform

VXLAN: GPE validation checks external mode at the wrong configuration level
Closed, ResolvedPublicBUG

Description

Summary
Verify() checks for external at the top level of the VXLAN dictionary. The configured node is parameters external. This causes a configuration that includes both external mode and GPE to be rejected by the external-mode check.

if 'gpe' in vxlan and 'external' not in vxlan:
     raise ConfigError(...)

Reproduce
Reported environment: VyOS 1.5-rolling

set interfaces vxlan vxlan1 parameters external
set interfaces vxlan vxlan1 source-address 192.0.2.5
set interfaces vxlan vxlan1 gpe

Actual: the commit reports that VXLAN-GPE requires external mode, although parameters external is configured.
Expected: that combination passes this validation, subject to the remaining VXLAN requirements.

Suggested correction

if 'gpe' in vxlan and dict_search('parameters.external', vxlan) is None:
        raise ConfigError('VXLAN-GPE requires parameters external.')

Details

Version
1.5
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav changed the task status from Open to In progress.Tue, Sep 15, 9:46 AM
Viacheslav assigned this task to haakon.nore.
Viacheslav triaged this task as Normal priority.
Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.