]> git.proxmox.com Git - mirror_iproute2.git/commit - tc/m_csum.c
tc: add ACT_CSUM action support (csum)
authorGregoire Baron <baronchon@n7mm.org>
Wed, 1 Dec 2010 19:17:46 +0000 (11:17 -0800)
committerStephen Hemminger <stephen.hemminger@vyatta.com>
Wed, 1 Dec 2010 19:17:46 +0000 (11:17 -0800)
commit3822cc986cc33751b82a22b91289ef088d94440c
tree886189b4ae977c499caf06835a77e728a0da5f45
parent64c7956061500611061910067d76512afcd2ddb4
tc: add ACT_CSUM action support (csum)

Add the iproute2 support for the ACT_CSUM action. Can be used as
following, certainly in conjunction with the ACT_PEDIT action (pedit):

 # In order to DNAT (stateless) IPv4 packet from 192.168.1.100 to
 #  0x12345678 (18.52.86.120), and update the IPv4 header checksum and
 #  the UDP checksum (the last one, only if the packet is UDP).
tc filter add eth0 prio 1 protocol ip parent ffff: \
  u32 match ip src 192.168.1.100/32 flowid :1 \
    action pedit munge offset 16 u32 set 0x12345678 \
      pipe csum ip and udp

 # In order to alter destination address of IPv6 TCP packets from fc00::1
 #  and correct the TCP checksum (nothing happened? except maybe for
 #  checksums in the TCP payload ...).
tc filter add eth0 prio 1 protocol ipv6 parent ffff: \
  u32 match ip6 src fc00::1/128 match ip6 protocol 0x06 0xff flowid :1 \
    action pedit munge offset 24 u32 set 0x12345678 \
      pipe csum tcp
include/linux/tc_act/tc_csum.h [new file with mode: 0644]
tc/Makefile
tc/m_csum.c [new file with mode: 0644]