1*a71a9546SAutomerger Merge WorkerLike MARK, i.e. set the fwmark, but the mark is calculated from hashing 2*a71a9546SAutomerger Merge Workerpacket selector at choice. You have also to specify the mark range and, 3*a71a9546SAutomerger Merge Workeroptionally, the offset to start from. ICMP error messages are inspected 4*a71a9546SAutomerger Merge Workerand used to calculate the hashing. 5*a71a9546SAutomerger Merge Worker.PP 6*a71a9546SAutomerger Merge WorkerExisting options are: 7*a71a9546SAutomerger Merge Worker.TP 8*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-tuple\fP tuple\fI\fP 9*a71a9546SAutomerger Merge WorkerPossible tuple members are: 10*a71a9546SAutomerger Merge Worker.B src 11*a71a9546SAutomerger Merge Workermeaning source address (IPv4, IPv6 address), 12*a71a9546SAutomerger Merge Worker.B dst 13*a71a9546SAutomerger Merge Workermeaning destination address (IPv4, IPv6 address), 14*a71a9546SAutomerger Merge Worker.B sport 15*a71a9546SAutomerger Merge Workermeaning source port (TCP, UDP, UDPlite, SCTP, DCCP), 16*a71a9546SAutomerger Merge Worker.B dport 17*a71a9546SAutomerger Merge Workermeaning destination port (TCP, UDP, UDPlite, SCTP, DCCP), 18*a71a9546SAutomerger Merge Worker.B spi 19*a71a9546SAutomerger Merge Workermeaning Security Parameter Index (AH, ESP), and 20*a71a9546SAutomerger Merge Worker.B ct 21*a71a9546SAutomerger Merge Workermeaning the usage of the conntrack tuple instead of the packet selectors. 22*a71a9546SAutomerger Merge Worker.TP 23*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-mod\fP \fIvalue (must be > 0)\fP 24*a71a9546SAutomerger Merge WorkerModulus for hash calculation (to limit the range of possible marks) 25*a71a9546SAutomerger Merge Worker.TP 26*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-offset\fP \fIvalue\fP 27*a71a9546SAutomerger Merge WorkerOffset to start marks from. 28*a71a9546SAutomerger Merge Worker.TP 29*a71a9546SAutomerger Merge WorkerFor advanced usage, instead of using \-\-hmark\-tuple, you can specify custom 30*a71a9546SAutomerger Merge Workerprefixes and masks: 31*a71a9546SAutomerger Merge Worker.TP 32*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-src\-prefix\fP \fIcidr\fP 33*a71a9546SAutomerger Merge WorkerThe source address mask in CIDR notation. 34*a71a9546SAutomerger Merge Worker.TP 35*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-dst\-prefix\fP \fIcidr\fP 36*a71a9546SAutomerger Merge WorkerThe destination address mask in CIDR notation. 37*a71a9546SAutomerger Merge Worker.TP 38*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-sport\-mask\fP \fIvalue\fP 39*a71a9546SAutomerger Merge WorkerA 16 bit source port mask in hexadecimal. 40*a71a9546SAutomerger Merge Worker.TP 41*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-dport\-mask\fP \fIvalue\fP 42*a71a9546SAutomerger Merge WorkerA 16 bit destination port mask in hexadecimal. 43*a71a9546SAutomerger Merge Worker.TP 44*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-spi\-mask\fP \fIvalue\fP 45*a71a9546SAutomerger Merge WorkerA 32 bit field with spi mask. 46*a71a9546SAutomerger Merge Worker.TP 47*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-proto\-mask\fP \fIvalue\fP 48*a71a9546SAutomerger Merge WorkerAn 8 bit field with layer 4 protocol number. 49*a71a9546SAutomerger Merge Worker.TP 50*a71a9546SAutomerger Merge Worker\fB\-\-hmark\-rnd\fP \fIvalue\fP 51*a71a9546SAutomerger Merge WorkerA 32 bit random custom value to feed hash calculation. 52*a71a9546SAutomerger Merge Worker.PP 53*a71a9546SAutomerger Merge Worker\fIExamples:\fP 54*a71a9546SAutomerger Merge Worker.PP 55*a71a9546SAutomerger Merge Workeriptables \-t mangle \-A PREROUTING \-m conntrack \-\-ctstate NEW 56*a71a9546SAutomerger Merge Worker \-j HMARK \-\-hmark-tuple ct,src,dst,proto \-\-hmark-offset 10000 57*a71a9546SAutomerger Merge Worker\-\-hmark\-mod 10 \-\-hmark\-rnd 0xfeedcafe 58*a71a9546SAutomerger Merge Worker.PP 59*a71a9546SAutomerger Merge Workeriptables \-t mangle \-A PREROUTING \-j HMARK \-\-hmark\-offset 10000 60*a71a9546SAutomerger Merge Worker\-\-hmark-tuple src,dst,proto \-\-hmark-mod 10 \-\-hmark\-rnd 0xdeafbeef 61