MarkMatch

Example:

>>> from linuxnet.iptables import MarkMatch
>>> m = MarkMatch()
>>> m.mark().equals(0x20, 0xff)
<linuxnet.iptables.matches.markmatch.MarkMatch object at 0x7f42fa72b240>
>>> m.to_iptables_args()
['-m', 'mark', '--mark', '0x20/0xff']
>>> m.mark().get_value()
(32, 255)
class MarkMatch[source]

Match against the fwmark

mark() MarkCriterion[source]

Match against the packet’s fwmark.

to_iptables_args() List[str][source]

Returns iptables(8) arguments for this match


MarkCriterion

class MarkCriterion(match: Match)[source]

A criterion for a mark, used by MarkMatch and ConnmarkMatch since the iptables(8) option used by the mark/connmark modules is the same.

The comparison value is a tuple consisting of an (integer) mark value and an integer mask value (None in case of no mask).

get_value() Tuple[int, Optional[int]][source]

Returns the value that the criterion is comparing against.

Return type:

tuple of (int, int|None)

equals(mark: int, mask: Optional[int] = None) Match[source]

Check for equality against mark and optionally mask

Parameters:
  • mark – the mark value

  • mask – the mask value

compare(is_equal: bool, *args, **kwargs) Match

Alternative method used for comparisons. It invokes equals() (or not_equals()) with args and kwargs if is_equal is True (or False).

is_positive() bool

Returns the ‘polarity’ of the criterion; True for equals() or False for not_equals()

Raises IptablesError if the criterion is not set

is_set() bool

Returns True if the criterion has been set

not_equals(*args, **kwargs) Match

Express inequality comparison against the argument values.

The arguments of this method are the same as those of the equals() method.

This method invokes the equals() method and then reverses the polarity.

Returns this Match object.