-
a772322d9e
Unwind panics safely: say goodbye to the peer, keep the other sessions

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 23:24:00 +02:00
-
41090966e4
Stop treating a dead RIB as an empty one

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 23:18:59 +02:00
-
6197a7ad74
Handle errors in UPDATE messages as RFC 7606 says, not by resetting

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 23:12:33 +02:00
-
39632e3c38
Property tests and fuzz targets for the parsers, and the bugs they found

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 22:54:37 +02:00
-
b0762874e0
Make address families open values; keep "supported" a separate list

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 22:38:40 +02:00
-
22d0099a46
Negotiate address families and AS number width instead of assuming them

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 22:22:54 +02:00
-
a4a180e948
Make the session state machine explicit and free of I/O

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 21:59:55 +02:00
-
16a4e3b640
Typed errors in the library crates; send the NOTIFICATION RFC 4271 assigns

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 21:18:35 +02:00
-
666471e38d
Share path attributes between Adj-RIB-In entries

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 21:08:14 +02:00
-
2de0a14712
Add the Apache 2.0 licence text and CI

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 21:01:26 +02:00
-
b7c7514d3e
Fix all clippy warnings and enforce lints across the workspace

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 21:01:26 +02:00
-
126368852a
Parse the Multiple Labels capability instead of panicking

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 21:01:26 +02:00
-
2ab6c1c38b
Format the workspace with rustfmt

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:58:12 +02:00
-
d8e8924b4e
Point the repository URL at ferrix

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:53:26 +02:00
-
b7e5084f83
Tidy the remaining top-level files after the lecture

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:51:32 +02:00
-
22b9eeacdc
Count multiprotocol prefixes in the UPDATE log lines

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:51:15 +02:00
-
b800e3a322
Originate routes from the configuration; make the HTTP API read-only

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:51:15 +02:00
-
c37cfd029a
Remove the lecture material and the ping monitor

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:45:24 +02:00
-
b1b72fed39
lab: multi-line answer boxes, one sheet per student
netsec_2026

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:40:55 +02:00
-
2910a2a800
slides: light theme, final edits, single-file bundle

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:40:55 +02:00
-
8c6e8a80e1
chore: ignore .DS_Store and generated lecture output

Rayhaan JaufeerallyandClaude Fable 5.1
2026-10-01 20:40:55 +02:00
-
597941a70a
handout finalized
Rayhaan Jaufeerally
2026-09-24 10:33:45 +02:00
-
b607058650
Ferrix web UI working for demo and slides mostly done
Rayhaan Jaufeerally
2026-09-23 15:38:06 +02:00
-
f3bb8cc89e
lab: exercise sheet cut to two pages, three simple steps

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 22:07:23 +02:00
-
83ae367b1c
lab: printable exercise sheet for the Hands-on BGP lecture

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 22:02:32 +02:00
-
9d6996c6c1
slides: no step-by-step reveals; UPDATE example is 2a0d:d740::/48 at SwissIX

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 21:48:12 +02:00
-
1399cbd39f
slides: "Hands-on BGP", restructured into five sections

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 21:41:31 +02:00
-
106edd1df0
slides: reveal.js deck template for the BGP lecture

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 21:30:41 +02:00
-
e35507d082
lab: track the applied router config and the RIPE objects

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 21:21:25 +02:00
-
c60bd8baf5
docs: use built-in Apache error documents so the login covers every path

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 21:13:56 +02:00
-
36b73844af
docs: keep Apache's /error/ pages out of the proxy so 401 prompts for a password

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 21:09:37 +02:00
-
9d644a212a
tools: concurrent load test for the announce API

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 19:49:19 +02:00
-
1ea2a12bd6
docs: tested Apache reverse proxy with basic auth for the status page

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 19:32:50 +02:00
-
42d79354e3
docs: peer with BIRD over ::1 on the router; explain the multihop requirement

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 19:29:31 +02:00
-
fd496d26bf
feature: run on the router itself: protoc-free build, per-peer source address

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 18:15:09 +02:00
-
af76ecb345
fix: leave sessions politely on shutdown; answer ROUTE-REFRESH

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 17:51:04 +02:00
-
57099da73d
feature: export control by neighbour AS and by location

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 17:34:57 +02:00
-
98f25a5847
Add existing BIRD config
Rayhaan Jaufeerally
2026-09-20 17:29:01 +02:00
-
77c406e7d1
docs: wire lab export control into a shared BIRD filter via a function and wrapper filters

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 17:21:36 +02:00
-
b28f59f30d
feature: AS210036 export-control large communities for lab routes

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-20 17:02:42 +02:00
-
eb77090d01
feature: config zippy on statusz; drop prepend options from the UI

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 22:46:07 +02:00
-
3f04152f19
docs: simplify prod ferrix config, name the peer pr01.rue.rayhaan.net

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 22:44:46 +02:00
-
dd838eec9a
feature: decoded hover for UPDATE bytes; opt-in auto-refresh

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 22:20:37 +02:00
-
20cad53b24
fix: statusz tables no longer flicker on refresh

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 17:10:42 +02:00
-
cc022c3b7b
feature: restyle statusz after the classic Google status pages

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 17:06:00 +02:00
-
d23a578d72
docs: listen on 9179 in the prod ferrix config (179 needs root on macOS)

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 16:08:22 +02:00
-
22384d0b07
docs: use the real WireGuard tunnel addresses in the prod peering configs

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 16:05:44 +02:00
-
e41776f253
docs: allow SwissIX large action communities through the ferrix import filter

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 16:00:42 +02:00
-
160e28690a
fix: capability list parsing; advertise IPv6 unicast; BIRD peering config

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 15:57:23 +02:00
-
87f96f9389
feature: RFC 4271 §6.8 connection collision detection

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-19 15:05:13 +02:00
-
a137160b48
feature: lab topology, student handout; drop peer routes on session end

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-16 23:26:10 +02:00
-
e2de44ba78
feature: active dialer for configured peers

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-16 23:22:08 +02:00
-
fb48fc0a85
feature: statusz page and fake_peer example

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-16 23:17:27 +02:00
-
c3f7713965
feature: HTTP API, event stream and Prometheus metrics (bgp-web)

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-16 23:10:16 +02:00
-
73e9fbf0ad
fix: sample config used bracketed IPv6 address which the endpoint parser rejects

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-16 22:57:02 +02:00
-
ad07233196
feature: locally originated routes, session registry, outbound UPDATEs

Rayhaan JaufeerallyandClaude Fable 5.1
2026-09-16 22:56:29 +02:00
-
-
1ec60255ea
feature: BGP server, FSM, Adj-RIB-In actor, and integration tests

Rayhaan JaufeerallyandClaude Sonnet 4.6
2026-04-19 00:20:47 +02:00
-
4ba644827d
Error codes cleanup & typo fix
Rayhaan Jaufeerally
2026-04-18 13:22:24 +02:00
-
b26160ff40
Add top level message parser
Rayhaan Jaufeerally
2026-04-18 13:13:21 +02:00
-
5ae8f6e249
Cleanup and implementation of Update / Notification parser / serializers.
Rayhaan Jaufeerally
2026-04-18 12:58:51 +02:00
-
dfe066c9ab
ops: prepare for v0.0.2
Rayhaan Jaufeerally
2025-07-27 13:21:09 +02:00
-
66ce8665a6
docs: Update README.md
Rayhaan Jaufeerally
2025-07-27 13:06:51 +02:00
-
b5b7b8b162
feature: Implement open message and tests
Rayhaan Jaufeerally
2025-07-27 13:02:42 +02:00
-
a9c14f341b
docs: Update README.md
Rayhaan Jaufeerally
2025-07-24 14:26:14 +02:00
-
ab20160014
feature: Implement more path attributes
Rayhaan Jaufeerally
2025-07-20 15:25:41 +02:00
-
4b130985da
Fix cargo.toml package info
Rayhaan Jaufeerally
2025-04-19 17:19:48 +02:00
-
bea504ea8b
Initial commit
Rayhaan Jaufeerally
2025-04-19 17:13:04 +02:00