| 258 | debug3(f"ConnTrack: GC: collected {n} connections | #ActiveConn={len(self.used_slots)}") |
| 259 | |
| 260 | def _unpack(self, packed): |
| 261 | ( |
| 262 | proto, |
| 263 | ip_version, |
| 264 | src_addr_packed, |
| 265 | src_port, |
| 266 | dst_addr_packed, |
| 267 | dst_port, |
| 268 | state_epoch, |
| 269 | state, |
| 270 | ) = self.struct_full_tuple.unpack(packed) |
| 271 | dst_addr = ip_address(dst_addr_packed if ip_version == 6 else dst_addr_packed[:4]).exploded |
| 272 | src_addr = ip_address(src_addr_packed if ip_version == 6 else src_addr_packed[:4]).exploded |
| 273 | proto = IPProtocol(proto) |
| 274 | state = ConnState(state) |
| 275 | return ConnectionTuple(proto, ip_version, src_addr, src_port, dst_addr, dst_port, state_epoch, state) |
| 276 | |
| 277 | def __iter__(self): |
| 278 | def conn_iter(): |