Browse Source

l2tp: rely on ppp layer for skb scrubbing

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>
Guillaume Nault 9 years ago
parent
commit
98f40b3e22
1 changed files with 1 additions and 16 deletions
  1. 1 16
      net/l2tp/l2tp_ppp.c

+ 1 - 16
net/l2tp/l2tp_ppp.c

@@ -230,26 +230,11 @@ static void pppol2tp_recv(struct l2tp_session *session, struct sk_buff *skb, int
 
 
 	if (sk->sk_state & PPPOX_BOUND) {
 	if (sk->sk_state & PPPOX_BOUND) {
 		struct pppox_sock *po;
 		struct pppox_sock *po;
+
 		l2tp_dbg(session, PPPOL2TP_MSG_DATA,
 		l2tp_dbg(session, PPPOL2TP_MSG_DATA,
 			 "%s: recv %d byte data frame, passing to ppp\n",
 			 "%s: recv %d byte data frame, passing to ppp\n",
 			 session->name, data_len);
 			 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);
 		po = pppox_sk(sk);
 		ppp_input(&po->chan, skb);
 		ppp_input(&po->chan, skb);
 	} else {
 	} else {