Blame man/man8/tc-csum.8

Packit Service 3880ab
.TH "Checksum action in tc" 8 "11 Jan 2015" "iproute2" "Linux"
Packit Service 3880ab
Packit Service 3880ab
.SH NAME
Packit Service 3880ab
csum - checksum update action
Packit Service 3880ab
.SH SYNOPSIS
Packit Service 3880ab
.in +8
Packit Service 3880ab
.ti -8
Packit Service 3880ab
.BR tc " ... " "action csum"
Packit Service 3880ab
.I UPDATE
Packit Service 3880ab
Packit Service 3880ab
.ti -8
Packit Service 3880ab
.IR UPDATE " := " TARGET " [ " UPDATE " ]"
Packit Service 3880ab
Packit Service 3880ab
.ti -8
Packit Service 3880ab
.IR TARGET " := { "
Packit Service 3880ab
.BR ip4h " |"
Packit Service 3880ab
.BR icmp " |"
Packit Service 3880ab
.BR igmp " |"
Packit Service 3880ab
.BR tcp " |"
Packit Service 3880ab
.BR udp " |"
Packit Service 3880ab
.BR udplite " |"
Packit Service 3880ab
.BR sctp " |"
Packit Service 3880ab
.IR SWEETS " }"
Packit Service 3880ab
Packit Service 3880ab
.ti -8
Packit Service 3880ab
.IR SWEETS " := { "
Packit Service 3880ab
.BR and " | " or " | " + " }"
Packit Service 3880ab
.SH DESCRIPTION
Packit Service 3880ab
The
Packit Service 3880ab
.B csum
Packit Service 3880ab
action triggers checksum recalculation of specified packet headers. It is
Packit Service 3880ab
commonly used to fix incorrect checksums after the
Packit Service 3880ab
.B pedit
Packit Service 3880ab
action has modified the packet content.
Packit Service 3880ab
.SH OPTIONS
Packit Service 3880ab
.TP
Packit Service 3880ab
.I TARGET
Packit Service 3880ab
Specify which headers to update: IPv4 header
Packit Service 3880ab
.RB ( ip4h ),
Packit Service 3880ab
ICMP header
Packit Service 3880ab
.RB ( icmp ),
Packit Service 3880ab
IGMP header
Packit Service 3880ab
.RB ( igmp ),
Packit Service 3880ab
TCP header
Packit Service 3880ab
.RB ( tcp ),
Packit Service 3880ab
UDP header
Packit Service 3880ab
.RB ( udp ),
Packit Service 3880ab
UDPLite header
Packit Service 3880ab
.RB ( udplite ") or"
Packit Service 3880ab
SCTP header
Packit Service 3880ab
.RB ( sctp ).
Packit Service 3880ab
.TP
Packit Service 3880ab
.B SWEETS
Packit Service 3880ab
These are merely syntactic sugar and ignored internally.
Packit Service 3880ab
.SH EXAMPLES
Packit Service 3880ab
The following performs stateless NAT for incoming packets from 192.0.2.100 to
Packit Service 3880ab
new destination 198.51.100.1. Assuming these are UDP
Packit Service 3880ab
packets, both IP and UDP checksums have to be recalculated:
Packit Service 3880ab
Packit Service 3880ab
.RS
Packit Service 3880ab
.EX
Packit Service 3880ab
# tc qdisc add dev eth0 ingress handle ffff:
Packit Service 3880ab
# tc filter add dev eth0 prio 1 protocol ip parent ffff: \\
Packit Service 3880ab
	u32 match ip src 192.0.2.100/32 flowid :1 \\
Packit Service 3880ab
	action pedit munge ip dst set 198.51.100.1 pipe \\
Packit Service 3880ab
	csum ip and udp
Packit Service 3880ab
.EE
Packit Service 3880ab
.RE
Packit Service 3880ab
Packit Service 3880ab
.SH SEE ALSO
Packit Service 3880ab
.BR tc (8),
Packit Service 3880ab
.BR tc-pedit (8)