ah6/esp6: set transport header correctly for IPsec tunnel mode.
authorLi RongQing <roy.qing.li@gmail.com>
Tue, 8 Jan 2013 07:41:12 +0000 (15:41 +0800)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 8 Jan 2013 11:41:30 +0000 (12:41 +0100)
commita9403f8aeb3e7dba6988d6cbe436e6521894e427
tree5dda4e7fde169a8ffba69b24bd4487b249529062
parent7143dfac692cd25d48a24dbe8323bc17af95b4ec
ah6/esp6: set transport header correctly for IPsec tunnel mode.

IPsec tunnel does not set ECN field to CE in inner header when
the ECN field in the outer header is CE, and the ECN field in
the inner header is ECT(0) or ECT(1).

The cause is ipip6_hdr() does not return the correct address of
inner header since skb->transport-header is not the inner header
after esp6_input_done2(), or ah6_input().

Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/ipv6/ah6.c
net/ipv6/esp6.c