After some research (after an upgrade which stopped working), I have identified an issue where the same config of GRE tunnel between VyOS and a Cisco router (running IOS 15.1) worked with 1.1.8 & fails with 1.2.0.
The VyOS config (from a blank install) is:-
set interface ethernet eth0 address 192.168.99.101/24 set interfaces tunnel tun1 address '172.31.99.101/24' set interfaces tunnel tun1 encapsulation 'gre' set interfaces tunnel tun1 local-ip '192.168.99.101' set interfaces tunnel tun1 mtu '1476' set interfaces tunnel tun1 multicast 'disable' set interfaces tunnel tun1 remote-ip '192.168.99.102'
The Cisco config is:-
interface Tunnel1 ip address 172.31.99.102 255.255.255.0 keepalive 10 3 tunnel source FastEthernet0/0 tunnel destination 192.168.99.101 ! interface FastEthernet0/0 ip address 192.168.99.102 255.255.255.0 duplex auto speed auto
With 1.1.8 the tunnel comes up on the Cisco end and one can ping both ways. With 1.2.0, it does not come up and the VyOS end repeatedly logs:-
Apr 6 14:37:11 localhost kernel: [ 261.542958] IPv4: martian source 192.168.99.102 from 192.168.99.101, on dev tun1 Apr 6 14:37:21 localhost kernel: [ 271.541949] IPv4: martian source 192.168.99.102 from 192.168.99.101, on dev tun1
Looking at a PCAP of the packets coming from the Cisco on both versions, I have been unable to spot any difference between them.