Skip to content

Interface routing table setting seems to override static route's table setting #44

@memoz

Description

@memoz

I encountered this seemingly unintended behavior since at least 23.05.

For this /etc/config/network:

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdaf:6aa0:d0fa::/48'
        option packet_steering '2'
        option steering_flows '128'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'

config interface 'lan'
        option device 'br-lan.10'
        option proto 'static'
        option ipaddr '192.168.127.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config bridge-vlan
        option device 'br-lan'
        option vlan '1'
        list ports 'eth0:t'

config bridge-vlan
        option device 'br-lan'
        option vlan '10'
        list ports 'eth0:u*'

config interface 'wan'
        option proto 'dhcp'
        option device 'br-lan.1'
        option delegate '0'

config interface 'wan6'
        option proto 'dhcpv6'
        option device 'br-lan.1'
        option reqaddress 'try'
        option reqprefix 'auto'
        option peerdns '0'
        option delegate '0'

config interface 'wg_tyo1'
        option proto 'wireguard'
        option private_key 'redacted'
        option delegate '0'
        option fwmark '0x7'
        option metric '75'
        list addresses '10.0.0.2/24'
        option nohostroute '1'
        option ip4table 'wg_tyo1'
        option ip6table 'wg_tyo1'

If I add:

config route
        option interface 'wan'
        option target '10.1.0.0/24'
        option table 'wg_tyo1'

ip monitor route would show 10.1.0.0/24 dev br-lan.1 table wg_tyo1 proto static scope link, which is intended.

But if I add:

config route
        option interface 'wg_tyo1'
        option target '10.1.0.0/24'
        option table 'main'

ip monitor route would show 10.1.0.0/24 dev wg_tyo1 table wg_tyo1 proto static scope link metric 75, which is unintended.

As you can see, the second route's table setting is ignored. It seems to be overridden by option ip4table 'wg_tyo1'.

According to https://openwrt.org/docs/guide-user/network/routing/routes_configuration, the table option should take effect independently. Potential bug?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions