Skip to content

[Bug]: IPv4 or IPv6 routes are parsed incorrectly when using or not using net.ipv4.nexthop_compat_mode on Cumulus Linux 5.8.0 #968

@NerijusRazvodovskis

Description

@NerijusRazvodovskis

Suzieq version

0.22.0

Install Type

hand deployed python

Python version

3.9

Impacted component

no clue

Steps to Reproduce

Hello, i've noticed strange behaviour with Cumulus Linux version 5.8.0 and net.ipv4.nexthop_compat_mode = 1

When i'm using net.ipv4.nexthop_compat_mode = 0

IPv4:

nerijus> route show hostname=spine1.test.io prefix="192.168.10.1/32"
  namespace                    hostname      vrf            prefix nexthopIps oifs protocol source  preference  ipvers   action
0       test  spine1.test.io  default  192.168.10.1/32         []   []      bgp                 20       4  forward

while

root@spine1:mgmt:~# ip route show table all | grep 192.168.10.1
192.168.10.1 nhid 138 proto bgp metric 20 

IPv6

nerijus> route show hostname=spine1.test.io prefix="fc00:baba::c/128"
Empty DataFrame
Columns: [namespace, hostname, vrf, prefix, nexthopIps, oifs, protocol, source, preference, ipvers, action]

while

root@spine1:mgmt:~# ip route show table all | grep fc00:baba::c
fc00:baba::c nhid 146 proto bgp src 2a02:4780:1111:ffff::1 metric 20 pref medium

When i'm using net.ipv4.nexthop_compat_mode = 1
IPv4:

nerijus> route show hostname=spine2.test.io prefix="192.168.10.1/32"
Empty DataFrame
Columns: [namespace, hostname, vrf, prefix, nexthopIps, oifs, protocol, source, preference, ipvers, action]
Index: []

while

root@spine2:mgmt:~# ip route show table all | grep 192.168.10.1/32
192.168.10.1 nhid 170 via inet6 fe80::4ed9:8fff:fee2:e4ba dev swp7 proto bgp metric 20

IPv6

nerijus> route show hostname=spine2.test.io prefix="fc00:baba::c/128"
  namespace                    hostname      vrf                   prefix                  nexthopIps    oifs protocol source  preference  ipvers   action
0       test  spine2.test.io  default  fc00:baba::c/128  [fe80::e6f0:4ff:fed6:d758]  [swp5]                          20       6  forward

while

root@spine2:mgmt:~# ip route show table all | grep fc00:baba::c
fc00:baba::c nhid 166 via fe80::e6f0:4ff:fed6:d758 dev swp5 proto bgp src 2a02:4780:1111:ffff::2 metric 20 pref medium

Expected Behavior

When using or not using net.ipv4.nexthop_compat_mode IPv4 and IPv6 routes are parsed normally.

Observed Behavior

When using net.ipv4.nexthop_compat_mode = 1 IPv4 are parsed incorrectly, while IPv6 routes are parsed correctly.
When using net.ipv4.nexthop_compat_mode = 0 IPv4 are parsed correctly, while IPv6 routes are parsed incorrectly.

Screenshots

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions