diff options
| author | Lee Clements <lclements0@gmail.com> | 2026-11-06 17:14:05 +0100 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-11-06 19:35:00 +0100 |
| commit | 1a9181807c3e0517a7ef618f01079d752cdf56c1 (patch) | |
| tree | a28e87e60a366907d1903291a7d2c19e1dd172a3 /src/migration-scripts/https | |
| parent | c67221dfa4eac5e2f78eea09028a078a9c63cde6 (diff) | |
| download | vyos-1x-1a9181807c3e0517a7ef618f01079d752cdf56c1.tar.gz vyos-1x-1a9181807c3e0517a7ef618f01079d752cdf56c1.zip | |
tunnel: T9193: match GRE tunnel uniqueness check to the Kernel
The pairwise GRE collision check did not follow the Kernel's notion of a
duplicate tunnel. With a key set it ignored remote and source-interface,
rejecting tunnels the Kernel keeps apart. Without one it refused keyless
tunnels on different source-interfaces, and collided a keyless tunnel with
a keyed one, which also left the keyless tunnel failing every later commit.
A zero key was judged differently depending on which side was verified.
Two tunnels now collide only when local address, remote, source-interface
and key all match, as ip_tunnel_find() decides. An any address counts as
unset, and a zero key is treated as no key only where neither endpoint is
set. Keys are compared as the value the Kernel stores, so octal spellings
such as "010" are caught and invalid ones such as "08" are refused on
commit. Error messages name the configured source and the shared node.
Smoketests cover the new cases.
Diffstat (limited to 'src/migration-scripts/https')
0 files changed, 0 insertions, 0 deletions
