l2tp: rely on ppp layer for skb scrubbing
authorGuillaume Nault <g.nault@alphalink.fr>
Tue, 29 Dec 2015 12:06:59 +0000 (13:06 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Jan 2016 21:45:24 +0000 (16:45 -0500)
Since 79c441ae505c ("ppp: implement x-netns support"), the PPP layer
calls skb_scrub_packet() whenever the skb is received on the PPP
device. Manually resetting packet meta-data in the L2TP layer is thus
redundant.

Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_ppp.c

index d93f113cb522acde1b71e6f9d2c634b6f12a98f3..652c250b9a3b8fd9ad7b6aefb63f538dcf099bbc 100644 (file)
@@ -230,26 +230,11 @@ static void pppol2tp_recv(struct l2tp_session *session, struct sk_buff *skb, int
 
        if (sk->sk_state & PPPOX_BOUND) {
                struct pppox_sock *po;
+
                l2tp_dbg(session, PPPOL2TP_MSG_DATA,
                         "%s: recv %d byte data frame, passing to ppp\n",
                         session->name, data_len);
 
-               /* We need to forget all info related to the L2TP packet
-                * gathered in the skb as we are going to reuse the same
-                * skb for the inner packet.
-                * Namely we need to:
-                * - reset xfrm (IPSec) information as it applies to
-                *   the outer L2TP packet and not to the inner one
-                * - release the dst to force a route lookup on the inner
-                *   IP packet since skb->dst currently points to the dst
-                *   of the UDP tunnel
-                * - reset netfilter information as it doesn't apply
-                *   to the inner packet either
-                */
-               secpath_reset(skb);
-               skb_dst_drop(skb);
-               nf_reset(skb);
-
                po = pppox_sk(sk);
                ppp_input(&po->chan, skb);
        } else {