What's in it for you
Users
- Ordered route-map set actions.
set_local_pref,set_medandset_communitynow accept an optionalorder, so you can place several rules on the same peer at chosen orders — the same flexibilitydeny/permit/filteralready had. This addresses the long-standing request in cnp3#99. - Crash fix. While addressing cnp3#99 we found and fixed a latent
AttributeErrorin the BGP config builder: applying two set actions (e.g. two local-prefs) to the same peer with different match conditions dereferencedNoneinstead of appending a new route-map entry.
Compatibility
- Default behaviour is unchanged: when no
orderis given, actions merge into the entry with identical match conditions exactly as before, so generated configurations are byte-identical. - No API removals and no environment/version floor changes (still Python >= 3.12, FRR 10.7.1, ExaBGP 5.0.13) — a drop-in patch upgrade.
Maintainers / developers
- New rootless model tests (
tests/test_bgp_model.py) cover the merge, distinct-entry and explicit-order paths of the route-map builder; registered in the rootless CI list and the parallel heavy suite. - Full-suite coverage 92.24% -> 92.29%, 278 -> 282 passed (heavy-test master run after merge).
What changed under the hood
- Version: 1.3.1
- Sole code change since v1.3.0: #51 (
ccb14ed) - Coverage:
fail_under = 90; heavy TOTAL 92.29%, 282 passed
Full diff: v1.3.0...v1.3.1