openwrt / openwrt/packages

mwan3: cannot force output interface for targets in connected networks

Open
#17,851 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

release/21.02 stale
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Maintainer: @feckert @aaronjg
Environment: 21.02.1 x86_64, mwan 2.10.13-1

Description:
Even specifying a rule to exclusively direct a route through an interface, the router is still using other interface when the target is in its same network.

 ┌─────────────┐       ┌─────────────┐
 │             │       │             │
 │   R1        │       │    R2       │
 │             │       │             │
 └───────────┬─┘       └──┬──────────┘
             │            │
             │            │
           ┌─┴────────────┴┐
           │ eth0      eth1│
           │               │
           │               │
           └───────┬───────┘
                   │
           ┌───────┴───────┐
           │               │
           │      C1       │
           │               │
           └───────────────┘

In my case, C1 has a rule to always use eth1. When I ping R1 from C1, the router is still sending traffic through eth0 and not eth1.
It looks like mwan3 has a mwan3_connected ipset that includes all locally connected networks and skips rules in that case.
This is what it is doing. I wonder if this is what mwan3 should be doing.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the C1-to-R1 case from the issue and tracing how mwan3 handles the mwan3_connected ipset for targets in locally connected networks. Compare that behavior with a rule intended to force eth1, then establish whether honoring the rule or documenting the current behavior is the expected outcome.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.