pub struct MatchCriteria {
pub src_ip: Option<CidrAddress>,
pub dst_ip: Option<CidrAddress>,
pub src_port: Option<PortRange>,
pub dst_port: Option<PortRange>,
pub protocol: Protocol,
pub tcp_flags: Option<TcpFlags>,
pub conn_state: Option<ConntrackState>,
pub negate_src: bool,
pub negate_dst: bool,
}Expand description
Criteria for matching packets against a firewall rule
Fields§
§src_ip: Option<CidrAddress>Source IP with CIDR mask (None = match any)
dst_ip: Option<CidrAddress>Destination IP with CIDR mask (None = match any)
src_port: Option<PortRange>Source port range (None = match any)
dst_port: Option<PortRange>Destination port range (None = match any)
protocol: ProtocolIP protocol (Any = match all protocols)
tcp_flags: Option<TcpFlags>TCP flags to match (None = don’t check flags)
conn_state: Option<ConntrackState>Connection tracking state (None = don’t check state)
negate_src: boolNegate source IP match
negate_dst: boolNegate destination IP match
Implementations§
Source§impl MatchCriteria
impl MatchCriteria
Sourcepub fn with_src_ip(self, cidr: CidrAddress) -> Self
pub fn with_src_ip(self, cidr: CidrAddress) -> Self
Set source IP CIDR
Sourcepub fn with_dst_ip(self, cidr: CidrAddress) -> Self
pub fn with_dst_ip(self, cidr: CidrAddress) -> Self
Set destination IP CIDR
Sourcepub fn with_src_port(self, range: PortRange) -> Self
pub fn with_src_port(self, range: PortRange) -> Self
Set source port range
Sourcepub fn with_dst_port(self, range: PortRange) -> Self
pub fn with_dst_port(self, range: PortRange) -> Self
Set destination port range
Sourcepub fn with_protocol(self, proto: Protocol) -> Self
pub fn with_protocol(self, proto: Protocol) -> Self
Set protocol
Sourcepub fn with_tcp_flags(self, flags: TcpFlags) -> Self
pub fn with_tcp_flags(self, flags: TcpFlags) -> Self
Set TCP flags match
Sourcepub fn with_conn_state(self, state: ConntrackState) -> Self
pub fn with_conn_state(self, state: ConntrackState) -> Self
Set connection state match
Trait Implementations§
Source§impl Clone for MatchCriteria
impl Clone for MatchCriteria
Source§fn clone(&self) -> MatchCriteria
fn clone(&self) -> MatchCriteria
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 moreSource§impl Debug for MatchCriteria
impl Debug for MatchCriteria
Source§impl Default for MatchCriteria
impl Default for MatchCriteria
Source§fn default() -> MatchCriteria
fn default() -> MatchCriteria
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MatchCriteria
impl RefUnwindSafe for MatchCriteria
impl Send for MatchCriteria
impl Sync for MatchCriteria
impl Unpin for MatchCriteria
impl UnwindSafe for MatchCriteria
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)