Lines Matching refs:tunnel
273 struct l2tp_tunnel *tunnel; in pppol2tp_sendmsg() local
286 tunnel = session->tunnel; in pppol2tp_sendmsg()
288 uhlen = (tunnel->encap == L2TP_ENCAPTYPE_UDP) ? sizeof(struct udphdr) : 0; in pppol2tp_sendmsg()
350 struct l2tp_tunnel *tunnel; in pppol2tp_xmit() local
361 tunnel = session->tunnel; in pppol2tp_xmit()
363 uhlen = (tunnel->encap == L2TP_ENCAPTYPE_UDP) ? sizeof(struct udphdr) : 0; in pppol2tp_xmit()
643 static int pppol2tp_tunnel_mtu(const struct l2tp_tunnel *tunnel) in pppol2tp_tunnel_mtu() argument
647 mtu = l2tp_tunnel_dst_mtu(tunnel); in pppol2tp_tunnel_mtu()
663 struct l2tp_tunnel *tunnel; in pppol2tp_connect() local
693 tunnel = l2tp_tunnel_get(sock_net(sk), info.tunnel_id); in pppol2tp_connect()
694 if (tunnel) in pppol2tp_connect()
702 if (!tunnel) { in pppol2tp_connect()
719 &tunnel); in pppol2tp_connect()
723 l2tp_tunnel_inc_refcount(tunnel); in pppol2tp_connect()
724 error = l2tp_tunnel_register(tunnel, sock_net(sk), in pppol2tp_connect()
727 kfree(tunnel); in pppol2tp_connect()
736 if (!tunnel) in pppol2tp_connect()
740 if (!tunnel->sock) in pppol2tp_connect()
744 if (tunnel->peer_tunnel_id == 0) in pppol2tp_connect()
745 tunnel->peer_tunnel_id = info.peer_tunnel_id; in pppol2tp_connect()
747 session = l2tp_tunnel_get_session(tunnel, info.session_id); in pppol2tp_connect()
773 tunnel, info.session_id, in pppol2tp_connect()
785 error = l2tp_session_register(session, tunnel); in pppol2tp_connect()
813 po->chan.mtu = pppol2tp_tunnel_mtu(tunnel); in pppol2tp_connect()
840 l2tp_tunnel_delete(tunnel); in pppol2tp_connect()
845 l2tp_tunnel_dec_refcount(tunnel); in pppol2tp_connect()
854 static int pppol2tp_session_create(struct net *net, struct l2tp_tunnel *tunnel, in pppol2tp_session_create() argument
862 if (!tunnel->sock) { in pppol2tp_session_create()
869 tunnel, session_id, in pppol2tp_session_create()
878 error = l2tp_session_register(session, tunnel); in pppol2tp_session_create()
900 struct l2tp_tunnel *tunnel; in pppol2tp_getname() local
917 tunnel = session->tunnel; in pppol2tp_getname()
919 inet = inet_sk(tunnel->sock); in pppol2tp_getname()
920 if (tunnel->version == 2 && tunnel->sock->sk_family == AF_INET) { in pppol2tp_getname()
927 sp.pppol2tp.fd = tunnel->fd; in pppol2tp_getname()
929 sp.pppol2tp.s_tunnel = tunnel->tunnel_id; in pppol2tp_getname()
930 sp.pppol2tp.d_tunnel = tunnel->peer_tunnel_id; in pppol2tp_getname()
938 } else if (tunnel->version == 2 && tunnel->sock->sk_family == AF_INET6) { in pppol2tp_getname()
945 sp.pppol2tp.fd = tunnel->fd; in pppol2tp_getname()
947 sp.pppol2tp.s_tunnel = tunnel->tunnel_id; in pppol2tp_getname()
948 sp.pppol2tp.d_tunnel = tunnel->peer_tunnel_id; in pppol2tp_getname()
953 memcpy(&sp.pppol2tp.addr.sin6_addr, &tunnel->sock->sk_v6_daddr, in pppol2tp_getname()
954 sizeof(tunnel->sock->sk_v6_daddr)); in pppol2tp_getname()
956 } else if (tunnel->version == 3 && tunnel->sock->sk_family == AF_INET6) { in pppol2tp_getname()
963 sp.pppol2tp.fd = tunnel->fd; in pppol2tp_getname()
965 sp.pppol2tp.s_tunnel = tunnel->tunnel_id; in pppol2tp_getname()
966 sp.pppol2tp.d_tunnel = tunnel->peer_tunnel_id; in pppol2tp_getname()
971 memcpy(&sp.pppol2tp.addr.sin6_addr, &tunnel->sock->sk_v6_daddr, in pppol2tp_getname()
972 sizeof(tunnel->sock->sk_v6_daddr)); in pppol2tp_getname()
975 } else if (tunnel->version == 3) { in pppol2tp_getname()
982 sp.pppol2tp.fd = tunnel->fd; in pppol2tp_getname()
984 sp.pppol2tp.s_tunnel = tunnel->tunnel_id; in pppol2tp_getname()
985 sp.pppol2tp.d_tunnel = tunnel->peer_tunnel_id; in pppol2tp_getname()
1028 struct l2tp_tunnel *tunnel) in pppol2tp_tunnel_copy_stats() argument
1033 pppol2tp_copy_stats(stats, &tunnel->stats); in pppol2tp_tunnel_copy_stats()
1040 session = l2tp_tunnel_get_session(tunnel, stats->session_id); in pppol2tp_tunnel_copy_stats()
1115 session->tunnel); in pppol2tp_ioctl()
1124 stats.tunnel_id = session->tunnel->tunnel_id; in pppol2tp_ioctl()
1125 stats.using_ipsec = l2tp_tunnel_uses_xfrm(session->tunnel); in pppol2tp_ioctl()
1151 struct l2tp_tunnel *tunnel, in pppol2tp_tunnel_setsockopt() argument
1198 l2tp_session_set_header_len(session, session->tunnel->version); in pppol2tp_session_setsockopt()
1235 struct l2tp_tunnel *tunnel; in pppol2tp_setsockopt() local
1261 tunnel = session->tunnel; in pppol2tp_setsockopt()
1262 err = pppol2tp_tunnel_setsockopt(sk, tunnel, optname, val); in pppol2tp_setsockopt()
1275 struct l2tp_tunnel *tunnel, in pppol2tp_tunnel_getsockopt() argument
1341 struct l2tp_tunnel *tunnel; in pppol2tp_getsockopt() local
1368 tunnel = session->tunnel; in pppol2tp_getsockopt()
1369 err = pppol2tp_tunnel_getsockopt(sk, tunnel, optname, &val); in pppol2tp_getsockopt()
1407 struct l2tp_tunnel *tunnel; member
1414 if (pd->tunnel) in pppol2tp_next_tunnel()
1415 l2tp_tunnel_dec_refcount(pd->tunnel); in pppol2tp_next_tunnel()
1418 pd->tunnel = l2tp_tunnel_get_nth(net, pd->tunnel_idx); in pppol2tp_next_tunnel()
1422 if (!pd->tunnel || pd->tunnel->version == 2) in pppol2tp_next_tunnel()
1425 l2tp_tunnel_dec_refcount(pd->tunnel); in pppol2tp_next_tunnel()
1435 pd->session = l2tp_session_get_nth(pd->tunnel, pd->session_idx); in pppol2tp_next_session()
1461 if (!pd->tunnel) in pppol2tp_seq_start()
1467 if (!pd->tunnel && !pd->session) in pppol2tp_seq_start()
1494 if (pd->tunnel) { in pppol2tp_seq_stop()
1495 l2tp_tunnel_dec_refcount(pd->tunnel); in pppol2tp_seq_stop()
1496 pd->tunnel = NULL; in pppol2tp_seq_stop()
1502 struct l2tp_tunnel *tunnel = v; in pppol2tp_seq_tunnel_show() local
1505 tunnel->name, in pppol2tp_seq_tunnel_show()
1506 (tunnel == tunnel->sock->sk_user_data) ? 'Y' : 'N', in pppol2tp_seq_tunnel_show()
1507 refcount_read(&tunnel->ref_count) - 1); in pppol2tp_seq_tunnel_show()
1510 atomic_long_read(&tunnel->stats.tx_packets), in pppol2tp_seq_tunnel_show()
1511 atomic_long_read(&tunnel->stats.tx_bytes), in pppol2tp_seq_tunnel_show()
1512 atomic_long_read(&tunnel->stats.tx_errors), in pppol2tp_seq_tunnel_show()
1513 atomic_long_read(&tunnel->stats.rx_packets), in pppol2tp_seq_tunnel_show()
1514 atomic_long_read(&tunnel->stats.rx_bytes), in pppol2tp_seq_tunnel_show()
1515 atomic_long_read(&tunnel->stats.rx_errors)); in pppol2tp_seq_tunnel_show()
1521 struct l2tp_tunnel *tunnel = session->tunnel; in pppol2tp_seq_session_show() local
1528 if (tunnel->sock) { in pppol2tp_seq_session_show()
1529 struct inet_sock *inet = inet_sk(tunnel->sock); in pppol2tp_seq_session_show()
1546 tunnel->tunnel_id, in pppol2tp_seq_session_show()
1548 tunnel->peer_tunnel_id, in pppol2tp_seq_session_show()
1590 pppol2tp_seq_tunnel_show(m, pd->tunnel); in pppol2tp_seq_show()