Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#3722 - Software flow offloading breaks ECMP routing #8747

Closed
openwrt-bot opened this issue Apr 4, 2021 · 1 comment
Closed

FS#3722 - Software flow offloading breaks ECMP routing #8747

openwrt-bot opened this issue Apr 4, 2021 · 1 comment
Labels
flyspray kernel pull request/issue with Linux kernel related changes release/19.07 pull request/issue targeted (also) for OpenWrt 19.07 release

Comments

@openwrt-bot
Copy link

vfreex:

Supply the following if possible:

  • Device problem occurs on
    x86_64 Router
  • Software versions of OpenWrt/LEDE release, packages, etc.
    OpenWrt 19.07.7 r11306-c4a6851c72, Linux 4.14.221 #0 SMP Mon Feb 15 15:22:37 2021 x86_64 GNU/Linux
  • Steps to reproduce

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

  1. Add ECMP routes:
$ 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.

@aparcar aparcar added release/19.07 pull request/issue targeted (also) for OpenWrt 19.07 release kernel pull request/issue with Linux kernel related changes labels Feb 22, 2022
@ynezz
Copy link
Member

ynezz commented May 24, 2022

OpenWrt 19.07 release is EOL, try to reproduce the issue with latest supported release and feel free to ask for issue reopening if the problem is still present, thanks.

@ynezz ynezz closed this as completed May 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flyspray kernel pull request/issue with Linux kernel related changes release/19.07 pull request/issue targeted (also) for OpenWrt 19.07 release
Projects
None yet
Development

No branches or pull requests

3 participants