[Bug 241191] route flush panic with RADIX_MPATH
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Oct 11 07:25:03 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241191
Bug ID: 241191
Summary: route flush panic with RADIX_MPATH
Product: Base System
Version: 12.0-STABLE
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: dl at CyberPunk.ru
Hello, Colleagues.
We are use RADIX_MPATH .
Have a lot of IPv4 route multipath.
Our FreeBSD 12.0-STABLE is panic when execute `route flush`. (See details and
screenshots)
The problem is caused by incorrect processing of return rt_unlinkrte() from
sys/net/route.c .
With RADIX_MPATH return may be _NULL_ with *perror = 0.
Than rtrequest1_fib() from sys/net/route.c is panic;
Also route_output() from sys/net/rtsock.c .
I prepared the patch.
Please check it out. If he does not contradict anything, then accept.
Perhaps patch creates some other problems. However, patch solves the original
problem successfully.
Thanks.
Add details.
root at noc-srr01:~ # sysctl kern | grep kern.os
kern.ostype: FreeBSD
kern.osrelease: 12.0-STABLE
kern.osrevision: 199506
kern.osreldate: 1200503
Example 1: WITHOUT kernel options RADIX_MPATH
# A lot of routes
root at noc-srr01:/boot/kernel # netstat -rnW | wc -l
16132
#
root at noc-srr01:/boot/kernel # netstat -rnW | more
Routing tables
Internet:
Destination Gateway Flags Use Mtu Netif Expire
default 10.169.211.1 UGS 3945 1500 xn0
1.1.2.0/30 10.169.213.234 UG1 0 1500 xn1
1.2.2.0/30 10.169.213.234 UG1 0 1500 xn1
1.2.3.0/30 10.169.213.234 UG1 0 1500 xn1
...
# Work flush correctly
root at noc-srr01:/boot/kernel # netstat -rn | wc -l ; route -qn flush ; netstat
-rn | wc -l
16132
23
Example 2: WITH kernel options RADIX_MPATH
# A lot of routes (16000 * 4 ifs and routers)
root at noc-srr01:~ # netstat -rn | wc -l
63595
#
root at noc-srr01:~ # netstat -rn | more
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 10.169.211.1 UGS xn0
1.1.2.0/30 10.169.213.234 UG1 xn1
1.1.2.0/30 10.169.213.242 UG1 xn2
1.1.2.0/30 10.169.213.233 UG1 xn1
1.1.2.0/30 10.169.213.241 UG1 xn2
1.2.2.0/30 10.169.213.234 UG1 xn1
1.2.2.0/30 10.169.213.242 UG1 xn2
1.2.2.0/30 10.169.213.233 UG1 xn1
1.2.2.0/30 10.169.213.241 UG1 xn2
1.2.3.0/30 10.169.213.234 UG1 xn1
1.2.3.0/30 10.169.213.242 UG1 xn2
1.2.3.0/30 10.169.213.233 UG1 xn1
1.2.3.0/30 10.169.213.241 UG1 xn2
# flush panic ... see ScreenShots in attach
root at noc-srr01:~ # netstat -rn | wc -l ; route -qn flush ; netstat -rn | wc -l
63599
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list