Repository: openthread/openthread (language: python)

Issue:
[routing-manager] stop PD if there is another prefix with higher preference in netdata
This PR adds a new IDLE state to PdPrefixManager.

PdPrefixManager enters idle state when PD is enabled and there is already a BR requesting PD prefix. When there are multiple BRs publishing PD prefix at the same time, the one with 
lexcial smaller prefix wins.

Depends-On: openthread/ot-br-posix#2364


Discussion / hints:


# Size Report of **OpenThread**
> Merging [#10289](https://github.com/openthread/openthread/commit/5724ac5182c104fc7744c33105d65b4bded97434) into [main](https://github.com/openthread/openthread/commit/6e46e2e9f172376cd72109d742961dbdc4b25ab5)(6e46e2e9f172376cd72109d742961dbdc4b25ab5).

|  name  |  branch  |  text  | data  | bss  | total |
| :----: | :------: | -----: | ----: | ---: | ----: |
| ot-cli-ftd | main | 469976 | 856 | 66636 | 537468 |
|  | #10289 | 469976 | 856 | 66636 | 537468 |
|  | +/- | 0 | 0 | 0 | 0 |
| ot-ncp-ftd | main | 438468 | 760 | 61864 | 501092 |
|  | #10289 | 438468 | 760 | 61864 | 501092 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-ftd.a | main | 238132 | 95 | 40422 | 278649 |
|  | #10289 | 238132 | 95 | 40422 | 278649 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-cli-ftd.a | main | 58802 | 0 | 8075 | 66877 |
|  | #10289 | 58802 | 0 | 8075 | 66877 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-ncp-ftd.a | main | 32605 | 0 | 5924 | 38529 |
|  | #10289 | 32605 | 0 | 5924 | 38529 |
|  | +/- | 0 | 0 | 0 | 0 |
| ot-cli-mtd | main | 366744 | 760 | 51452 | 418956 |
|  | #10289 | 366744 | 760 | 51452 | 418956 |
|  | +/- | 0 | 0 | 0 | 0 |
| ot-ncp-mtd | main | 349388 | 760 | 46696 | 396844 |
|  | #10289 | 349388 | 760 | 46696 | 396844 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-mtd.a | main | 160201 | 0 | 25254 | 185455 |
|  | #10289 | 160201 | 0 | 25254 | 185455 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-cli-mtd.a | main | 39893 | 0 | 8059 | 47952 |
|  | #10289 | 39893 | 0 | 8059 | 47952 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-ncp-mtd.a | main | 25413 | 0 | 5924 | 31337 |
|  | #10289 | 25413 | 0 | 5924 | 31337 |
|  | +/- | 0 | 0 | 0 | 0 |
| ot-cli-ftd-br | main | 555128 | 864 | 131500 | 687492 |
|  | #10289 | 555280 | 864 | 131500 | 687644 |
|  | +/- | +152 | 0 | 0 | +152 |
| libopenthread-ftd-br.a | main | 327362 | 100 | 105262 | 432724 |
|  | #10289 | 327493 | 100 | 105262 | 432855 |
|  | +/- | +131 | 0 | 0 | +131 |
| libopenthread-cli-ftd-br.a | main | 72930 | 0 | 8099 | 81029 |
|  | #10289 | 72939 | 0 | 8099 | 81038 |
|  | +/- | +9 | 0 | 0 | +9 |
| ot-rcp | main | 62768 | 564 | 20788 | 84120 |
|  | #10289 | 62768 | 564 | 20788 | 84120 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-rcp.a | main | 9750 | 0 | 5060 | 14810 |
|  | #10289 | 9750 | 0 | 5060 | 14810 |
|  | +/- | 0 | 0 | 0 | 0 |
| libopenthread-radio.a | main | 19338 | 0 | 222 | 19560 |
|  | #10289 | 19338 | 0 | 222 | 19560 |
|  | +/- | 0 | 0 | 0 | 0 |

## [Codecov](https://app.codecov.io/gh/openthread/openthread/pull/10289?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 74.81%. Comparing base [(`6e46e2e`)](https://app.codecov.io/gh/openthread/openthread/commit/6e46e2e9f172376cd72109d742961dbdc4b25ab5?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread) to head [(`daac7f4`)](https://app.codecov.io/gh/openthread/openthread/commit/daac7f4c9f3b8d1a05017a4f1d9d438152408bc9?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread).
> Report is 1 commits behind head on main.

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff             @@
##             main   #10289      +/-   ##
==========================================
+ Coverage   74.57%   74.81%   +0.23%     
==========================================
  Files         609      609              
  Lines       84911    86167    +1256     
==========================================
+ Hits        63321    64464    +1143     
- Misses      21590    21703     +113     
```

| [Files with missing lines](https://app.codecov.io/gh/openthread/openthread/pull/10289?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread) | Coverage Δ | |
|---|---|---|
| [src/cli/cli\_br.cpp](https://app.codecov.io/gh/openthread/openthread/pull/10289?src=pr&el=tree&filepath=src%2Fcli%2Fcli_br.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread#diff-c3JjL2NsaS9jbGlfYnIuY3Bw) | `75.64% <ø> (+5.69%)` | :arrow_up: |
| [src/core/border\_router/routing\_manager.cpp](https://app.codecov.io/gh/openthread/openthread/pull/10289?src=pr&el=tree&filepath=src%2Fcore%2Fborder_router%2Frouting_manager.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread#diff-c3JjL2NvcmUvYm9yZGVyX3JvdXRlci9yb3V0aW5nX21hbmFnZXIuY3Bw) | `94.35% <100.00%> (+6.22%)` | :arrow_up: |
| [src/core/border\_router/routing\_manager.hpp](https://app.codecov.io/gh/openthread/openthread/pull/10289?src=pr&el=tree&filepath=src%2Fcore%2Fborder_router%2Frouting_manager.hpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread#diff-c3JjL2NvcmUvYm9yZGVyX3JvdXRlci9yb3V0aW5nX21hbmFnZXIuaHBw) | `94.35% <ø> (+7.25%)` | :arrow_up: |
| [src/posix/platform/netif.cpp](https://app.codecov.io/gh/openthread/openthread/pull/10289?src=pr&el=tree&filepath=src%2Fposix%2Fplatform%2Fnetif.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread#diff-c3JjL3Bvc2l4L3BsYXRmb3JtL25ldGlmLmNwcA==) | `87.72% <ø> (+0.26%)` | :arrow_up: |
| [tests/unit/test\_routing\_manager.cpp](https://app.codecov.io/gh/openthread/openthread/pull/10289?src=pr&el=tree&filepath=tests%2Funit%2Ftest_routing_manager.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread#diff-dGVzdHMvdW5pdC90ZXN0X3JvdXRpbmdfbWFuYWdlci5jcHA=) | `98.21% <ø> (ø)` | |

... and [196 files with indirect coverage changes](https://app.codecov.io/gh/openthread/openthread/pull/10289/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openthread)

</details>

Fix patch:
diff --git a/.github/workflows/otbr.yml b/.github/workflows/otbr.yml
index 0ad781198f4..5560cc841e2 100644
--- a/.github/workflows/otbr.yml
+++ b/.github/workflows/otbr.yml
@@ -142,10 +142,10 @@ jobs:
             description: "LowPower"
           - otbr_mdns: "mDNSResponder"
             otbr_trel: 0
-            cert_scripts: ./tests/scripts/thread-cert/border_router/nat64/*.py
+            cert_scripts: ./tests/scripts/thread-cert/border_router/internet/*.py
             packet_verification: 1
             nat64: 1
-            description: "nat64"
+            description: "internet access"
           - otbr_mdns: "avahi"
             otbr_trel: 0
             cert_scripts: ./tests/scripts/thread-cert/border_router/*.py


Test patch:
diff --git a/tests/scripts/thread-cert/border_router/test_dhcp6pd.py b/tests/scripts/thread-cert/border_router/internet/test_dhcp6pd.py
similarity index 100%
rename from tests/scripts/thread-cert/border_router/test_dhcp6pd.py
rename to tests/scripts/thread-cert/border_router/internet/test_dhcp6pd.py
diff --git a/tests/scripts/thread-cert/border_router/nat64/test_multi_border_routers.py b/tests/scripts/thread-cert/border_router/internet/test_multi_border_routers.py
similarity index 100%
rename from tests/scripts/thread-cert/border_router/nat64/test_multi_border_routers.py
rename to tests/scripts/thread-cert/border_router/internet/test_multi_border_routers.py
diff --git a/tests/scripts/thread-cert/border_router/nat64/test_single_border_router.py b/tests/scripts/thread-cert/border_router/internet/test_single_border_router.py
similarity index 100%
rename from tests/scripts/thread-cert/border_router/nat64/test_single_border_router.py
rename to tests/scripts/thread-cert/border_router/internet/test_single_border_router.py
diff --git a/tests/scripts/thread-cert/border_router/nat64/test_upstream_dns.py b/tests/scripts/thread-cert/border_router/internet/test_upstream_dns.py
similarity index 100%
rename from tests/scripts/thread-cert/border_router/nat64/test_upstream_dns.py
rename to tests/scripts/thread-cert/border_router/internet/test_upstream_dns.py
diff --git a/tests/scripts/thread-cert/border_router/nat64/test_with_infrastructure_prefix.py b/tests/scripts/thread-cert/border_router/internet/test_with_infrastructure_prefix.py
similarity index 100%
rename from tests/scripts/thread-cert/border_router/nat64/test_with_infrastructure_prefix.py
rename to tests/scripts/thread-cert/border_router/internet/test_with_infrastructure_prefix.py