summaryrefslogtreecommitdiffstats
path: root/drivers/net/ppp
diff options
context:
space:
mode:
authorTom Herbert <tom@herbertland.com>2015-04-20 23:10:05 +0200
committerDavid S. Miller <davem@davemloft.net>2015-04-21 03:57:26 +0200
commit3dfb05340ec6676e6fc71a9ae87bbbe66d3c2998 (patch)
tree7b3ff2ea9fad06843c9334dff0adbff2fd0a5d59 /drivers/net/ppp
parentnet: add skb_checksum_complete_unset (diff)
downloadlinux-3dfb05340ec6676e6fc71a9ae87bbbe66d3c2998.tar.xz
linux-3dfb05340ec6676e6fc71a9ae87bbbe66d3c2998.zip
ppp: call skb_checksum_complete_unset in ppp_receive_frame
Call checksum_complete_unset in PPP receive to discard checksum-complete value. PPP does not pull checksum for headers and also modifies packet as in VJ compression. Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ppp')
-rw-r--r--drivers/net/ppp/ppp_generic.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c
index af034dba9bd6..9d15566521a7 100644
--- a/drivers/net/ppp/ppp_generic.c
+++ b/drivers/net/ppp/ppp_generic.c
@@ -1716,6 +1716,7 @@ ppp_receive_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch)
{
/* note: a 0-length skb is used as an error indication */
if (skb->len > 0) {
+ skb_checksum_complete_unset(skb);
#ifdef CONFIG_PPP_MULTILINK
/* XXX do channel-level decompression here */
if (PPP_PROTO(skb) == PPP_MP)