l2tp: take PMTU from tunnel UDP socket
[deliverable/linux.git] / net / l2tp / l2tp_ppp.c
index 5990919356a5d7c7573d8cbd0f6c899f28eb7f67..950909f04ee6ab598a0bdd16f8d6ad6ec2a931ed 100644 (file)
@@ -456,13 +456,11 @@ static void pppol2tp_session_close(struct l2tp_session *session)
 
        BUG_ON(session->magic != L2TP_SESSION_MAGIC);
 
-
        if (sock) {
                inet_shutdown(sock, 2);
                /* Don't let the session go away before our socket does */
                l2tp_session_inc_refcount(session);
        }
-       return;
 }
 
 /* Really kill the session socket. (Called from sock_put() if
@@ -476,7 +474,6 @@ static void pppol2tp_session_destruct(struct sock *sk)
                BUG_ON(session->magic != L2TP_SESSION_MAGIC);
                l2tp_session_dec_refcount(session);
        }
-       return;
 }
 
 /* Called when the PPPoX socket (session) is closed.
@@ -756,9 +753,9 @@ static int pppol2tp_connect(struct socket *sock, struct sockaddr *uservaddr,
        session->deref = pppol2tp_session_sock_put;
 
        /* If PMTU discovery was enabled, use the MTU that was discovered */
-       dst = sk_dst_get(sk);
+       dst = sk_dst_get(tunnel->sock);
        if (dst != NULL) {
-               u32 pmtu = dst_mtu(__sk_dst_get(sk));
+               u32 pmtu = dst_mtu(__sk_dst_get(tunnel->sock));
                if (pmtu != 0)
                        session->mtu = session->mru = pmtu -
                                PPPOL2TP_HEADER_OVERHEAD;
This page took 0.027543 seconds and 5 git commands to generate.