- Add sync_control BPF_MAP_TYPE_ARRAY map with single entry for sync flag control
- Add sync_buffer BPF_MAP_TYPE_PERCPU_ARRAY map with 1024 entries for batched sync data
- Add sync_entry struct with ip/bytes/credit/blocked/valid fields for data transfer
- Update sync_stats XDP program to check sync_control flag and reset after triggering
- Add packet_stats/user_credits/block_list map
- Add EbpfManager struct with bpf/interface fields and PacketStats/SyncEntry/CreditInfo structs for data transfer
- Add new/attach methods for eBPF program loading and XDP attachment with BpfLogger initialization
- Add get_packet_stats/get_credit_info methods for reading packet_stats and user_credits maps
- Add update_user_credit/block_user methods for modifying user
- Add EbpfManager import and initialization with interface parameter and attach method for XDP program loading
- Add initial sync from Redis to eBPF maps on startup with context error handling
- Replace simulated packet processing with sync_batch_to_redis for eBPF-to-Redis data transfer and sync_from_redis for credit updates
- Add periodic stats logging (every 10 iterations) with
- Add XDP-based packet filtering with credit balance enforcement
- Create BPF hash maps for packet statistics, user credits, and block list tracking
- Implement packet size calculation and IP address extraction helpers
- Add credit deduction logic based on packet byte count
- Block packets when user credit balance falls below threshold
- Track bidirectional packet statistics for source and destination IPs
- Include sync_stats hook for periodic Redis
- Add Go-based API server and carrier connector services
- Add Rust-based charging engine and packet gateway services
- Add Docker Compose configuration for local development
- Add comprehensive documentation (API, Architecture, Deployment)
- Add development scripts for Redis, MongoDB, and environment setup
- Add workspace configuration for Go modules and pnpm
- Remove unnecessary documentation files from web-dashboard
- Add project build configuration (Makefile, Cargo.toml)
This commit establishes the foundational microservices architecture for the sovereign Telecom-as-a-Service platform.