ila: add checksum neutral ILA translations
authorTom Herbert <tom@herbertland.com>
Sat, 23 Apr 2016 18:46:57 +0000 (11:46 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Apr 2016 05:27:07 +0000 (01:27 -0400)
commit90bfe662db13d49cadc6714b0b8ed7e2d0535c5c
tree1f7d7cab0c43d934ddcfa5bb008144c1f6dabf31
parent642c2c95585dac4ea977140dbb1149fd1e2e7f7f
ila: add checksum neutral ILA translations

Support checksum neutral ILA as described in the ILA draft. The low
order 16 bits of the identifier are used to contain the checksum
adjustment value.

The csum-mode parameter is added to described checksum processing. There
are three values:
 - adjust transport checksum (previous behavior)
 - do checksum neutral mapping
 - do nothing

On output the csum-mode in the ila_params is checked and acted on. If
mode is checksum neutral mapping then to mapping and set C-bit.

On input, C-bit is checked. If it is set checksum-netural mapping is
done (regardless of csum-mode in ila params) and C-bit will be cleared.
If it is not set then action in csum-mode is taken.

Signed-off-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/ila.h
net/ipv6/ila/ila.h
net/ipv6/ila/ila_common.c
net/ipv6/ila/ila_lwt.c
net/ipv6/ila/ila_xlat.c