diff --git a/manpages/shorewall-tcrules.xml b/manpages/shorewall-tcrules.xml
index d635b9a51..f9bdad456 100644
--- a/manpages/shorewall-tcrules.xml
+++ b/manpages/shorewall-tcrules.xml
@@ -49,8 +49,10 @@
role="bold">/mask]|SAVE[/mask]|CONTINUE|SAME|COMMENT|IPMARK[([(CONTINUE|SAME|COMMENT|IPMARK[([(src|dst}][,[mask1][,[mask2][,[shift]]]]])]}[:{C|
to each matching packet based on the either the source or
destination IP address. By default, it assigns a mark value
equal to the low-order 8 bits of the source address. Default
- values are:
+ values are:
src
@@ -319,7 +321,7 @@ SAME $FW 0.0.0.0/0 tcp 80,443
0x8400 >> 8 = 0x84
- Mark = 0x84 = 132
+ Mark = 0x84 = 132
diff --git a/manpages6/shorewall6-tcclasses.xml b/manpages6/shorewall6-tcclasses.xml
index 4eefbe800..f330e386c 100644
--- a/manpages6/shorewall6-tcclasses.xml
+++ b/manpages6/shorewall6-tcclasses.xml
@@ -287,6 +287,41 @@
+
+
+ occurs=number
+
+
+ Typically used with an IPMARK entry in tcrules. Causes
+ the rule to be replicated for a total of
+ number rules. Each rule has a
+ successively class number and mark value.
+
+ When 'occurs' is used:
+
+
+
+ The associated device may not have the 'classify'
+ option.
+
+
+
+ The class may not be the default class.
+
+
+
+ The class may not have any 'tos=' options (including
+ 'tcp-ack').
+
+
+
+ The 'RATE' and 'CEIL' parameters apply to each instance
+ of the class. So the total RATE represented by an entry with
+ 'occurs' will be the listed RATE multiplied by
+ number.
+
+
diff --git a/manpages6/shorewall6-tcrules.xml b/manpages6/shorewall6-tcrules.xml
index f0b894e69..a050981bd 100644
--- a/manpages6/shorewall6-tcrules.xml
+++ b/manpages6/shorewall6-tcrules.xml
@@ -50,7 +50,10 @@
role="bold">SAVE[/mask]|CONTINUE|COMMENT}[COMMENT|IPMARK[([(src|dst}][,[mask1][,[mask2][,[shift]]]]])]}[:{C|F|P|T|CF|To stop the comment from being attached to further rules,
simply include COMMENT on a line by itself.
+
+
+ IPMARK ‒ Assigns a mark
+ to each matching packet based on the either the source or
+ destination IP address. By default, it assigns a mark value
+ equal to the low-order 8 bits of the source address. Default
+ values are:
+
+
+ src
+
+ mask1 = 0xFF
+
+ mask2 = 0x00
+
+ shift = 0
+
+
+ 'src' and 'dst' specify whether the mark is to be based on
+ the source or destination address respectively. The selected
+ address is first LANDed with mask1 then
+ LORed with mask2. The
+ result is then shifted shift bits to the
+ right.
+
+ Example:
+
+
+
+ IPMARK(dst, 0XFF00, 0x8000,8)
+
+ Destination IP address is 192.168.4.3 =
+ 0xc0a80103
+ Meaning:
+
+
+ 0xc0a80403 LAND 0xFF00 = 0x0400
+
+ 0x0400 LOR 0x80 = 0x8400
+
+ 0x8400 >> 8 = 0x84
+
+ Mark = 0x84 = 132
+
+
+