Skip to content
  • Jan Engelhardt's avatar
    [NETFILTER]: xt_TOS: Change semantic of mask value · 9bb268ed
    Jan Engelhardt authored
    
    
    This patch changes the behavior of xt_TOS v1 so that the mask value
    the user supplies means "zero out these bits" rather than "keep these
    bits". This is more easy on the user, as (I would assume) people keep
    more bits than zeroing, so, an example:
    
    	Action:     Set bit 0x01.
        	before (&): iptables -j TOS --set-tos 0x01/0xFE
        	after (&~): iptables -j TOS --set-tos 0x01/0x01
    
    This is not too "tragic" with xt_TOS, but where larger fields are used
    (e.g. proposed xt_MARK v2), `--set-xmar 0x01/0x01` vs. `--set-xmark
    0x01/0xFFFFFFFE` really makes a difference. Other target(!) modules,
    such as xt_TPROXY also use &~ rather than &, so let's get to a common
    ground.
    
    (Since xt_TOS has not yet left the development tree en direction to
    mainline, the semantic can be changed as proposed without breaking
    iptables.)
    
    Signed-off-by: default avatarJan Engelhardt <jengelh@computergmbh.de>
    Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9bb268ed