3117d002103a75ea16b710c04f1a24ca96fd23fe
Build flock Image / build (push) Has been cancelled
Two coupled changes that fix the anycast advertisement path: 1. Add anycast /128 + /32 prefixes as `route … blackhole` lines in the protocol static stanzas. BIRD's master tables pick them up at preference 200 — higher than kernel-learned routes — so they're the ones the BGP export filter sees. 2. The kernel protocol's export filter now rejects RTS_STATIC. Without this, BIRD would push its blackhole back into the kernel, clobbering the agent-installed `<anycast> via <pod-eth0> dev flock<8hex>` route that's actually responsible for forwarding to the pod. Result: BIRD has the route to advertise via BGP; the kernel has the right route to forward; nothing fights over the kernel table. Replaces the abandoned `gateway recursive` attempt — that's a BIRD 1.x keyword, not BIRD 2.15. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
flock
Kubernetes CNI for sjc001. Per-pod IPv4 opt-in, IID embedding, Ready-gated anycast via BGP.
Design doc: k8s-manager/dfritz-cni.md (in the operator's k8s-manager repo).
Status: M1 scaffold. Not functional. See milestones table in the design doc.
Layout
cmd/flock— CNI plugin binary (kubelet-invoked)cmd/flock-agent— DaemonSet binarypkg/api/v1alpha1—NodeConfigCRD typespkg/cni— CNI plugin internals + RPC clientpkg/agent— agent server, IPAM, state file, anycast, NetworkPolicypkg/embed—ip-algoIID embedding (pure)pkg/routing/{bird,ospf}— routing backendsdeploy/— CRDs, RBAC, DaemonSet manifests
License
Apache 2.0.
Description
Kubernetes CNI for sjc001 — per-pod IPv4 opt-in, IID embedding, Ready-gated anycast via BGP
Languages
Go
99.7%
Dockerfile
0.3%