Checksum action in tc

Section: Linux (8)
Updated: 11 Jan 2015
Page Index

 

NAME

csum - checksum update action  

SYNOPSIS


tc ... action csum UPDATE


UPDATE := TARGET [ UPDATE ]


TARGET := { ip4h | icmp | igmp | tcp | udp | udplite | sctp | SWEETS }


SWEETS := { and | or | + }  

DESCRIPTION

The csum action triggers checksum recalculation of specified packet headers. It is commonly used to fix incorrect checksums after the pedit action has modified the packet content.  

OPTIONS

TARGET
Specify which headers to update: IPv4 header (ip4h), ICMP header (icmp), IGMP header (igmp), TCP header (tcp), UDP header (udp), UDPLite header (udplite) or SCTP header (sctp).
SWEETS
These are merely syntactic sugar and ignored internally.
 

EXAMPLES

The following performs stateless NAT for incoming packets from 192.0.2.100 to new destination 198.51.100.1. Assuming these are UDP packets, both IP and UDP checksums have to be recalculated:

# tc qdisc add dev eth0 ingress handle ffff: # tc filter add dev eth0 prio 1 protocol ip parent ffff: \         u32 match ip src 192.0.2.100/32 flowid :1 \
        action pedit munge ip dst set 198.51.100.1 pipe \
        csum ip and udp

 

SEE ALSO

tc(8), tc-pedit(8)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
SEE ALSO