pub struct ConntrackEntry {
pub key: ConntrackKey,
pub state: ConntrackState,
pub tcp_state: TcpConnState,
pub timeout_ticks: u64,
pub packet_count: u64,
pub byte_count: u64,
pub last_seen: u64,
pub nat_info: Option<NatInfo>,
pub reply_seen: bool,
}Expand description
A single connection tracking entry
Fields§
§key: ConntrackKeyConnection 5-tuple key
state: ConntrackStateHigh-level connection state
tcp_state: TcpConnStateDetailed TCP state (only meaningful for TCP)
timeout_ticks: u64Timeout in ticks (entry expires when current_tick >= last_seen + timeout)
packet_count: u64Number of packets seen
byte_count: u64Number of bytes seen
last_seen: u64Tick counter when entry was last updated
nat_info: Option<NatInfo>Optional NAT translation info
reply_seen: boolWhether reply traffic has been seen
Implementations§
Source§impl ConntrackEntry
impl ConntrackEntry
Sourcepub fn new(key: ConntrackKey, protocol: u8) -> Self
pub fn new(key: ConntrackKey, protocol: u8) -> Self
Create a new conntrack entry for a first-seen packet
Sourcepub fn is_expired(&self, current_tick: u64) -> bool
pub fn is_expired(&self, current_tick: u64) -> bool
Check if this entry has expired
Sourcepub fn update(&mut self, current_tick: u64, bytes: u64)
pub fn update(&mut self, current_tick: u64, bytes: u64)
Update the last-seen timestamp and packet counters
Sourcepub fn mark_reply_seen(&mut self)
pub fn mark_reply_seen(&mut self)
Mark that reply traffic has been seen, promoting to Established
Trait Implementations§
Source§impl Clone for ConntrackEntry
impl Clone for ConntrackEntry
Source§fn clone(&self) -> ConntrackEntry
fn clone(&self) -> ConntrackEntry
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ConntrackEntry
impl RefUnwindSafe for ConntrackEntry
impl Send for ConntrackEntry
impl Sync for ConntrackEntry
impl Unpin for ConntrackEntry
impl UnwindSafe for ConntrackEntry
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)