diff options
author | Guillaume Nault <g.nault@alphalink.fr> | 2018-07-25 14:53:33 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-26 23:06:34 +0200 |
commit | 2b139e6b1ec86e1d3646039965dd79ad05d8dca4 (patch) | |
tree | 8118769260d6bd3c5d27472c4cd4ff4ae3e579b9 /net/l2tp/l2tp_ip6.c | |
parent | tipc: add missing dev_put() on error in tipc_enable_l2_media (diff) | |
download | linux-2b139e6b1ec86e1d3646039965dd79ad05d8dca4.tar.xz linux-2b139e6b1ec86e1d3646039965dd79ad05d8dca4.zip |
l2tp: remove ->recv_payload_hook
The tunnel reception hook is only used by l2tp_ppp for skipping PPP
framing bytes. This is a session specific operation, but once a PPP
session sets ->recv_payload_hook on its tunnel, all frames received by
the tunnel will enter pppol2tp_recv_payload_hook(), including those
targeted at Ethernet sessions (an L2TPv3 tunnel can multiplex PPP and
Ethernet sessions).
So this mechanism is wrong, and uselessly complex. Let's just move this
functionality to the pppol2tp rx handler and drop ->recv_payload_hook.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/l2tp/l2tp_ip6.c')
-rw-r--r-- | net/l2tp/l2tp_ip6.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/l2tp/l2tp_ip6.c b/net/l2tp/l2tp_ip6.c index 672e5b753738..42f828cf62fb 100644 --- a/net/l2tp/l2tp_ip6.c +++ b/net/l2tp/l2tp_ip6.c @@ -178,8 +178,7 @@ static int l2tp_ip6_recv(struct sk_buff *skb) print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, ptr, length); } - l2tp_recv_common(session, skb, ptr, optr, 0, skb->len, - tunnel->recv_payload_hook); + l2tp_recv_common(session, skb, ptr, optr, 0, skb->len); l2tp_session_dec_refcount(session); return 0; |