Skip to content

History / firewall

Revisions

  • docs(wiki): sync wiki with 44673dfea..15f9b98ae (211 commits) Updated 29 existing pages. No new pages. Breaking CLI change: a bare `ze <config-file>` no longer starts the daemon. Position 1 accepted a command OR a free-form path, so a config named like a command was dispatched as that command and never loaded. Launch is now `ze start <config-file>`, with `-` kept as the stdin sentinel. Corrected in quick-start, starting-and-stopping (including its systemd unit), command-reference, debugging, scenarios, chaos-tested-peering and exabgp-migration-walkthrough. command-reference also gains a `ze start` section with its own flags. Also flipped: `ze config set`, `activate` and `deactivate` no longer notify a running daemon by default. `--reload` opts in and `--no-reload` is gone. Feature gates grew from 12 to 36 and now include the BGP engine itself, the BNG, IPsec, VPP and every routing protocol. building.md gets the full grouped list, the generated `go install` line, and the dependency rules that make it usable: ze_bmp needs ze_bgp, and bfd/api stays always-on so a BFD-less build still runs BGP and OSPF unchanged. status, feature-inventory, comparison and glossary all carried the stale twelve-tag list. RFC gate: 138 enrolled RFCs over 1466 gated requirements became 166 documents over 2720, none outstanding. Documented the four regression ratchets and the extraction-completeness pass, including why deleting a requirement is blocked: it would otherwise be the cheapest route from red to green, cheaper than declaring a gap, which would pressure contributors to hide obligations. Protocol correctness, documented where an operator would look for it: - route-injection: an operator-supplied as-path gets the local AS prepended for a plain eBGP peer (RFC 4271 5.1.2). Verbatim transparency is scoped to RS clients, so the two never share a built UPDATE. - peers: RFC 6286 identifier validation on both receive rails, AS-wide uniqueness, and the allow-shared-router-id opt-out for anycast speakers. - graceful-restart: RFC 9494 4.6 depreference on stale readvertisement is driven by stale level rather than restart state, so mark-stale routes are covered too. - bgp-nlri-ls: an unknown NLRI type is skipped, not fatal to every NLRI after it, per RFC 9552 5.1. - bgp-nlri-evpn: Ze is a control-plane relay and not a PE; malformed IP Address Length is rejected. - bgp-rib: multipath ECMP group installation and the ecmp-paths field. Security and robustness: authorization fails closed on an unresolved profile, with the reserved-namespace break-glass path and the AAA ingress filtering that stops an untrusted RADIUS or TACACS+ server naming it. EAP-TLS refuses a responder that has no trust anchor to validate against. static isolates one unprogrammable route instead of failing the whole section, withdraws the orphaned old route on a skipped replacement, and surfaces both through skip-reason and a doctor check. Operator traps now named: the pinned appliance kernel ships no L2TP and Ze's fail-closed probe crash-loops the daemon on it with nothing useful on serial; policy routing needs a filter chain because nftables rejects a route chain on prerouting, which took the plugin down at startup; nft set-element timeouts silently never expired until the set-level flag was set. ci.md claimed the CI configuration was not in the repository. It is: validation moved off Codeberg's shared Woodpecker runners onto GitHub Actions, six workflows, with the stage list single-sourced in stagesForMode so a gate absent from that function runs nowhere. testing.md gains the test-health dashboard (is our testing correct, not is it large), the two sensitivity ratchets, the accept-only .ci lint and its shrink-only baseline, and the needs-linux and netns-link directives. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @thomas-mangin thomas-mangin committed Jul 25, 2026
  • docs(wiki): sync wiki with e87103f5..cc71d46e2 (155 commits) New pages: ospf, isis (native OSPFv2/OSPFv3 and IS-IS link-state IGPs). Updated 26 existing pages covering: OSPF and IS-IS index entries (sidebar, feature-inventory, plugins, status, comparison, command-reference, show-commands, glossary); MPLS/LDP/RSVP-TE with RFC 4090 facility-backup fast reroute; the logical-name interface resolver and mac/match binding; firewall IRR prefix-list filtering and the shared IRR prefix store; BGP SR-Policy/MUP/VPLS/MVPN/FlowSpec plugin-pipeline migration, SRv6 RFC 9252 fixes, and PATHS-LIMIT; the Go installer, zero-touch provisioning, and appliance auto-init; and the interactive TUI launcher with the 7-role color system. Regenerated llms.txt and llms-full.txt; bumped .source-commit to HEAD. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KY83ZW6tzbKTiJrS2MEVx1

    @thomas-mangin thomas-mangin committed Jun 24, 2026
  • docs: convert plugin examples from external { use } to internal { use } Match the new `internal` keyword added in ze main. Built-in plugins are now declared with `plugin { internal <name> { use <builtin> } }` instead of the ambiguous `external { use }` form. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @thomas-mangin thomas-mangin committed May 30, 2026
  • docs(wiki): sync wiki with 0318cf8..64d4a22 (180 commits) New pages: mpls, rsvp-te, srv6, flow-export, gnmi, audit. Updated 32 existing pages covering: MPLS/LDP/RSVP-TE kernel forwarding, SRv6 Prefix-SID, sFlow/NetFlow/IPFIX flow export, gNMI config interface, local audit trail and RBAC hardening, ze install local/remote/uninstall and service management, installer initrd and first-boot bootstrap, platform-aware self-update backend, BGP policy action macros (modify, remove-private-as, aspath-length, community-match) and show policy test, IANA well-known community names, FIB recursive next-hop resolution / ECMP / rich routes, compact ribOut storage, ze doctor platform-aware checks, ze support bundle, debug flags, enriched crash capture, SMART disk health, PKI pem/bundle/ fingerprint sub-commands, transactional config commits and schema evolution, CLI default output format / session transcript / typed args / command-owned pipe filters, chaos FRR/BIRD config generation and fork mode, firewall masquerade port-range syntax, and IPsec EAP interop. Regenerated llms.txt and llms-full.txt (165 pages). Bumped .source-commit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

    @thomas-mangin thomas-mangin committed May 29, 2026
  • docs(wiki): sync wiki with 952308c..0318cf8 (192 commits) New pages: ipsec, docker, health-checks, production-diagnostics, self-update, ze-install. Updated 25 existing pages covering: IPsec/IKEv2, diagnostics suite, self-update with fleet rollout, ze doctor, health registry, crash capture, XFRM interfaces, interface rate tracking, FlowSpec-to-firewall bridge, ASPA policy enforcement, RS dynamic peers, AIGP support, DHCP named ranges, Docker support, zero-touch provisioning, ZeFS integrity, config schema stamp, graceful listener migration, chaos v2 actions, monitor ping/traceroute/netlink, live packet capture, DNS cache management, conntrack nfs/sqlnet helpers, archive pruning, performance optimization campaign, Go 1.26, and glossary additions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @thomas-mangin thomas-mangin committed May 24, 2026
  • Deep update for l2tp, firewall, vpp, appliance, and monitoring l2tp: rewrite with RADIUS auth/acct/CoA, IP pools, traffic shaping, CQM metrics, session observer, Prometheus metrics, web UI, kernel integration detail, and environment variables. firewall: rewrite with full match/action tables, VPP backend (NAT44-ED, ACL classify), named sets with timeouts, NAT exclude pattern. vpp: MPLS label programming now implemented (was "not yet wired"), add firewall VPP backend cross-reference, update roadmap table. appliance: add ze appliance management CLI (init, build, push, config-push with auto-revert, export/import, batch parallel ops). monitoring: add OS metrics (Netdata-compatible collectors), host hardware metrics (ze_host_* namespace), diagnostics section (FSM history, capture rings, VPP trace, active probes, structured log query, component health endpoint). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @thomas-mangin thomas-mangin committed May 14, 2026
  • wiki: sync with 538 commits of April development The wiki was pinned to 7fcc808 (2026-04-11) while the codebase added BFD, BMP, L2TP/PPP, firewall, traffic control, VPP integration, WireGuard, tunnel interfaces, TACACS+, NTP, sysctl, route reflector, route filters, gRPC API, and many more features across 538 commits. Updated 13 existing pages to fix factually wrong claims (BFD/BMP "not implemented", 32 plugin count, tunnels "not implemented") and reflect the current feature set. Created 9 new pages for the major new subsystems. Bumped .source-commit to current HEAD. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    @thomas-mangin thomas-mangin committed Apr 21, 2026