mirror of
				https://git.proxmox.com/git/mirror_iproute2
				synced 2025-11-03 14:14:16 +00:00 
			
		
		
		
	Commit6bbe5e6290("man: tc-csum.8: Fix example") changed both source and destination IP addresses in example code but missed to update the example's description accordingly. Fixes:6bbe5e6290("man: tc-csum.8: Fix example") Signed-off-by: Phil Sutter <phil@nwl.cc>
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH "Checksum action in tc" 8 "11 Jan 2015" "iproute2" "Linux"
 | 
						|
 | 
						|
.SH NAME
 | 
						|
csum - checksum update action
 | 
						|
.SH SYNOPSIS
 | 
						|
.in +8
 | 
						|
.ti -8
 | 
						|
.BR tc " ... " "action csum"
 | 
						|
.I UPDATE
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR UPDATE " := " TARGET " [ " UPDATE " ]"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR TARGET " := { "
 | 
						|
.BR ip4h " |"
 | 
						|
.BR icmp " |"
 | 
						|
.BR igmp " |"
 | 
						|
.BR tcp " |"
 | 
						|
.BR udp " |"
 | 
						|
.BR udplite " |"
 | 
						|
.BR sctp " |"
 | 
						|
.IR SWEETS " }"
 | 
						|
 | 
						|
.ti -8
 | 
						|
.IR SWEETS " := { "
 | 
						|
.BR and " | " or " | " + " }"
 | 
						|
.SH DESCRIPTION
 | 
						|
The
 | 
						|
.B csum
 | 
						|
action triggers checksum recalculation of specified packet headers. It is
 | 
						|
commonly used to fix incorrect checksums after the
 | 
						|
.B pedit
 | 
						|
action has modified the packet content.
 | 
						|
.SH OPTIONS
 | 
						|
.TP
 | 
						|
.I TARGET
 | 
						|
Specify which headers to update: IPv4 header
 | 
						|
.RB ( ip4h ),
 | 
						|
ICMP header
 | 
						|
.RB ( icmp ),
 | 
						|
IGMP header
 | 
						|
.RB ( igmp ),
 | 
						|
TCP header
 | 
						|
.RB ( tcp ),
 | 
						|
UDP header
 | 
						|
.RB ( udp ),
 | 
						|
UDPLite header
 | 
						|
.RB ( udplite ") or"
 | 
						|
SCTP header
 | 
						|
.RB ( sctp ).
 | 
						|
.TP
 | 
						|
.B SWEETS
 | 
						|
These are merely syntactic sugar and ignored internally.
 | 
						|
.SH 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:
 | 
						|
 | 
						|
.RS
 | 
						|
.EX
 | 
						|
# 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
 | 
						|
.EE
 | 
						|
.RE
 | 
						|
 | 
						|
.SH SEE ALSO
 | 
						|
.BR tc (8),
 | 
						|
.BR tc-pedit (8)
 |