diff options
author | Simon Lin <simonlin@google.com> | 2022-07-27 11:34:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-26 20:34:07 -0700 |
commit | fe3f8f4c67eac17207df1e887e0adf7d497dd6f3 (patch) | |
tree | e6b2724218f3a5de3359cccb74bb92af4653049c /.clang-format | |
parent | c70d2a03536366fddf4babdbf4cd6ad7a315d151 (diff) | |
download | ot-br-posix-fe3f8f4c67eac17207df1e887e0adf7d497dd6f3.tar.gz |
[infra-netif] select infrastructure link among multiple candidates (#1353)
This commit implements a general Infrastructure Link Selection that
allows otbr-agent to select one network interface among multiple
network interface candidates (specified by multiple `-B` arguments) as
the infrastructure link.
The Infrastructure Link Selection uses following rules:
- The network link in the most usable state is selected
- Prefer `up and running` to `up`
- Prefer `up` to `down`
- Prefer `down` to `invalid`
- Once an interface is selected, it's preferred if either is true:
- The interface is still `up and running`
- No other interface is `up and running`
- The interface has been `up and running` within last 10 seconds
`otbr-agent` uses Infrastructure Link Selection to select the correct
infrastructure link:
- Run Infrastructure Link Selection when started to select the
infrastructure link
- Run Infrastructure Link Selection when network interface states
change is detected. otbr-agent would quit if a different
infrastructure link is selected, expecting the system to restart it
to use the new infrastructure link.
Note:
- The Infrastructure Link Selection mechanism is effectively disabled
if less than two infrastructure link names are specified.
- The current implementation only works for Linux platforms.
Diffstat (limited to '.clang-format')
0 files changed, 0 insertions, 0 deletions