Remove policy scripts
Rhai made a decision about a route cost one to three microseconds, some two hundred times what the same costs in Rust. That was bearable where a function is asked once for an UPDATE, and is not where every route is weighed against every peer, as it is when routes are passed on. What is wanted of a policy (mark routes by where they came from, mark what is announced, let communities say who is told what) needs no language; it is to be configuration, done natively. Kept from that work: route selection goes by a LOCAL_PREF that policy set on a route from an external peer, and the lab's configuration can be added to by a phase. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
cbf0df1eef
commit
9367c38907
48 files changed
+21
-3435
No files matched your search
@@ -16,7 +16,7 @@ It has not yet run in a production network.
|
||||
|
||||
### Not there yet
|
||||
|
||||
- Announcing learned routes to other peers (the export policy for it is there: scripts)
|
||||
- Announcing learned routes to other peers, and an export policy for it
|
||||
- TCP-AO / TCP MD5 and GTSM
|
||||
- Graceful restart, BFD, changing the configuration without a restart
|
||||
- Next hops that are not directly connected
|
||||
@@ -30,7 +30,6 @@ It has not yet run in a production network.
|
||||
| `crates/rib` | The routing table, best route selection, the journal of changes |
|
||||
| `crates/rpki` | The RTR client; origin validation and ASPA path verification |
|
||||
| `crates/fib` | The best routes in the Linux kernel, over netlink |
|
||||
| `crates/policy` | The operator's own rules for routes, as Rhai scripts |
|
||||
| `crates/server` | Sessions, the state machine, policy, configuration |
|
||||
| `crates/web` | The status page, HTTP API and metrics |
|
||||
| `bin/bgp` | The daemon |
|
||||
|
||||
Reference in new issue
Block a user