e1e9544e2e10e3f6c483c7e7de65d1691ab332e6
Build flock Image / build (push) Has been cancelled
The design doc's lo placement was motivated by avoiding NDP/ARP DAD conflicts "across nodes advertising the same IP" — but flock pods each sit on their own /64 veth subnet. DAD on eth0 only sees the host peer, no cross-node L2. With the IP on lo, the pod kernel doesn't reply to NDP solicits arriving on eth0 (Linux default: answer NDP only for addresses on the receiving interface). The host route `<ip>/128 dev flock<8hex>` causes the host to do NDP for the destination on the veth; pod ignores; packet drops silently between forwarding decision and transmit. Symptom: v4 anycast works (proxy_arp=1 on the host veth handles ARP), v6 anycast doesn't. Putting on eth0 makes NDP just work. 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%