FS#3722 - Software flow offloading breaks ECMP routing #8747
Labels
flyspray
kernel
pull request/issue with Linux kernel related changes
release/19.07
pull request/issue targeted (also) for OpenWrt 19.07 release
vfreex:
Supply the following if possible:
x86_64 Router
OpenWrt 19.07.7 r11306-c4a6851c72, Linux 4.14.221 #0 SMP Mon Feb 15 15:22:37 2021 x86_64 GNU/Linux
Hey guys,
I met this issue when I was using ECMP (Equal Cost Multi-Path) routing with software flow offload enabled.
Suppose we have topology:
LAN 1 (192.168.1.0/24) <----> (eth1: 192.168.1.1/24) OpenWRT (eth2: 192.168.2.1/24) <----> (192.168.2.51-53/24) Other routers <----> (192.168.150.0/24) LAN 2
$ ip route add 192.168.150.0/24 nexthop via 192.168.2.51 dev eth2 \ nexthop via 192.168.2.52 dev eth2 \ nexthop via 192.168.2.53 dev eth2
$ ip route
192.168.150.0/24
nexthop via 192.168.2.51 dev eth2 weight 1
nexthop via 192.168.2.52 dev eth2 weight 1
nexthop via 192.168.2.53 dev eth2 weight 1
2. Setting multipatch hash policy:
sysctl net.ipv4.fib_multipath_hash_policy=1
3. Initiate TCP connections from LAN 1 (192.168.1.0/24) to LAN 2 (192.168.150.0/24) should succeed. Connections are balanced over 3 next hop routers (192.168.2.51-53).
4. Enable software flow offloading on LuCI.
5. Open a TCP connection from LAN 1 (192.168.1.0/24) to LAN 2 (192.168.150.0/24) will likely be broken because each packet for a single TCP connection could use a different next hop router to get to the destination.
I'm not sure if this is an OpenWRT issue or upstream kernel issue. Any help would be greatly appreciated.
The text was updated successfully, but these errors were encountered: