ah4/esp4: set transport header correctly for IPsec tunnel mode.
authorLi RongQing <roy.qing.li@gmail.com>
Fri, 28 Dec 2012 08:07:16 +0000 (16:07 +0800)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 8 Jan 2013 11:41:30 +0000 (12:41 +0100)
commit7143dfac692cd25d48a24dbe8323bc17af95b4ec
treeb7bd65be7b147b50b4c09f9c1523ed7097586750
parentc7e2e1d72ed7707239d20525e0ebcad7e3303659
ah4/esp4: 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 ipip_hdr() does not return the correct address of
inner header since skb->transport-header is not the inner header
after esp_input_done2(), or ah_input().

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