fn perform_bpf_eviction()

in nfm-controller/src/events/event_provider_ebpf.rs [332:353]


    fn perform_bpf_eviction(
        &mut self,
        to_evict: HashMap<SockKey, SockWrapper>,
    ) -> SockOperationResult {
        let mut result = SockOperationResult::default();
        'sock_loop: for (sock_key, sock_wrap) in to_evict.iter() {
            for cpu_id in &sock_wrap.agg_stats.cpus {
                let composite_key = CpuSockKey {
                    cpu_id: (*cpu_id).into(),
                    sock_key: *sock_key,
                };
                if self.ebpf_sock_stats.remove(&composite_key).is_err() {
                    result.failed += 1;
                    continue 'sock_loop;
                }
            }

            result.completed += 1;
        }

        result
    }