Page MenuHomeVyOS Platform

Default sysctl config overrides arp_ignore on all interfaces
Closed, ResolvedPublicBUG

Description

Hello. Default sysctl config (30-vyatta-router.conf) contains:
...
net.ipv4.conf.all.arp_ignore=1
...

As this setting is applied to "all" - it is applied to all interfaces. At the same time configuration mode have commands like this:
set interfaces ethernet eth0 ip enable-arp-ignore
But this command will change actually nothing because arp_ignore is already enabled. And so there is no possibility to change this behaviour.

This makes impossible creating configurations with unnumbered interfaces and proxy arp on them. For example:
set interfaces dummy dum1 address '192.168.0.1/24'
set interfaces ethernet eth0 ip 'disable-arp-filter'
set interfaces ethernet eth0 ip 'enable-proxy-arp'
set interfaces ethernet eth0 ip source-validation 'strict'
set protocols static interface-route 192.168.0.2/32 next-hop-interface 'eth0'

If I setup 192.168.0.2/24 with gateway 192.168.0.1 on the connected host - the VyOS router wouldn't reply to ARP request of address 192.168.0.1. Because this address is configured on other interface. When I set net.ipv4.conf.all.arp_ignore=0 - all starts to work as expected.

Details

Difficulty level
Easy (less than an hour)
Version
VyOS 1.1.7
Why the issue appeared?
Implementation mistake