Lines Matching refs:session

142 static struct sock *pppol2tp_session_get_sock(struct l2tp_session *session)  in pppol2tp_session_get_sock()  argument
144 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_session_get_sock()
160 struct l2tp_session *session; in pppol2tp_sock_to_session() local
166 session = (struct l2tp_session *)(sk->sk_user_data); in pppol2tp_sock_to_session()
167 if (session == NULL) { in pppol2tp_sock_to_session()
172 BUG_ON(session->magic != L2TP_SESSION_MAGIC); in pppol2tp_sock_to_session()
175 return session; in pppol2tp_sock_to_session()
215 static void pppol2tp_recv(struct l2tp_session *session, struct sk_buff *skb, int data_len) in pppol2tp_recv() argument
217 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_recv()
242 l2tp_dbg(session, L2TP_MSG_DATA, in pppol2tp_recv()
244 session->name, data_len); in pppol2tp_recv()
249 l2tp_dbg(session, L2TP_MSG_DATA, in pppol2tp_recv()
251 session->name, data_len); in pppol2tp_recv()
254 atomic_long_inc(&session->stats.rx_errors); in pppol2tp_recv()
264 l2tp_info(session, L2TP_MSG_DATA, "%s: no socket\n", session->name); in pppol2tp_recv()
282 struct l2tp_session *session; in pppol2tp_sendmsg() local
292 session = pppol2tp_sock_to_session(sk); in pppol2tp_sendmsg()
293 if (session == NULL) in pppol2tp_sendmsg()
296 tunnel = session->tunnel; in pppol2tp_sendmsg()
303 uhlen + session->hdr_len + in pppol2tp_sendmsg()
329 l2tp_xmit_skb(session, skb, session->hdr_len); in pppol2tp_sendmsg()
359 struct l2tp_session *session; in pppol2tp_xmit() local
367 session = pppol2tp_sock_to_session(sk); in pppol2tp_xmit()
368 if (session == NULL) in pppol2tp_xmit()
371 tunnel = session->tunnel; in pppol2tp_xmit()
377 session->hdr_len + /* L2TP header */ in pppol2tp_xmit()
388 l2tp_xmit_skb(session, skb, session->hdr_len); in pppol2tp_xmit()
420 struct l2tp_session *session = sk->sk_user_data; in pppol2tp_session_destruct() local
425 if (session) { in pppol2tp_session_destruct()
427 BUG_ON(session->magic != L2TP_SESSION_MAGIC); in pppol2tp_session_destruct()
428 l2tp_session_dec_refcount(session); in pppol2tp_session_destruct()
437 struct l2tp_session *session; in pppol2tp_release() local
455 session = pppol2tp_sock_to_session(sk); in pppol2tp_release()
456 if (session) { in pppol2tp_release()
459 l2tp_session_delete(session); in pppol2tp_release()
461 ps = l2tp_session_priv(session); in pppol2tp_release()
538 struct l2tp_session *session = arg; in pppol2tp_show() local
541 sk = pppol2tp_session_get_sock(session); in pppol2tp_show()
550 static void pppol2tp_session_init(struct l2tp_session *session) in pppol2tp_session_init() argument
554 session->recv_skb = pppol2tp_recv; in pppol2tp_session_init()
556 session->show = pppol2tp_show; in pppol2tp_session_init()
558 ps = l2tp_session_priv(session); in pppol2tp_session_init()
670 struct l2tp_session *session = NULL; in pppol2tp_connect() local
757 session = l2tp_tunnel_get_session(tunnel, info.session_id); in pppol2tp_connect()
758 if (session) { in pppol2tp_connect()
761 if (session->pwtype != L2TP_PWTYPE_PPP) { in pppol2tp_connect()
766 ps = l2tp_session_priv(session); in pppol2tp_connect()
782 session = l2tp_session_create(sizeof(struct pppol2tp_session), in pppol2tp_connect()
785 if (IS_ERR(session)) { in pppol2tp_connect()
786 error = PTR_ERR(session); in pppol2tp_connect()
790 pppol2tp_session_init(session); in pppol2tp_connect()
791 ps = l2tp_session_priv(session); in pppol2tp_connect()
792 l2tp_session_inc_refcount(session); in pppol2tp_connect()
795 error = l2tp_session_register(session, tunnel); in pppol2tp_connect()
798 kfree(session); in pppol2tp_connect()
810 if ((session->session_id == 0) && in pppol2tp_connect()
811 (session->peer_session_id == 0)) { in pppol2tp_connect()
834 sk->sk_user_data = session; in pppol2tp_connect()
845 l2tp_info(session, L2TP_MSG_CONTROL, "%s: created\n", in pppol2tp_connect()
846 session->name); in pppol2tp_connect()
851 l2tp_session_delete(session); in pppol2tp_connect()
856 l2tp_session_dec_refcount(session); in pppol2tp_connect()
872 struct l2tp_session *session; in pppol2tp_session_create() local
881 session = l2tp_session_create(sizeof(struct pppol2tp_session), in pppol2tp_session_create()
884 if (IS_ERR(session)) { in pppol2tp_session_create()
885 error = PTR_ERR(session); in pppol2tp_session_create()
889 pppol2tp_session_init(session); in pppol2tp_session_create()
891 error = l2tp_session_register(session, tunnel); in pppol2tp_session_create()
898 kfree(session); in pppol2tp_session_create()
912 struct l2tp_session *session; in pppol2tp_getname() local
925 session = pppol2tp_sock_to_session(sk); in pppol2tp_getname()
926 if (session == NULL) in pppol2tp_getname()
929 pls = l2tp_session_priv(session); in pppol2tp_getname()
930 tunnel = session->tunnel; in pppol2tp_getname()
943 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
944 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
962 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
963 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
981 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
982 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
999 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
1000 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
1043 struct l2tp_session *session; in pppol2tp_tunnel_copy_stats() local
1053 session = l2tp_tunnel_get_session(tunnel, stats->session_id); in pppol2tp_tunnel_copy_stats()
1054 if (!session) in pppol2tp_tunnel_copy_stats()
1057 if (session->pwtype != L2TP_PWTYPE_PPP) { in pppol2tp_tunnel_copy_stats()
1058 l2tp_session_dec_refcount(session); in pppol2tp_tunnel_copy_stats()
1062 pppol2tp_copy_stats(stats, &session->stats); in pppol2tp_tunnel_copy_stats()
1063 l2tp_session_dec_refcount(session); in pppol2tp_tunnel_copy_stats()
1072 struct l2tp_session *session; in pppol2tp_ioctl() local
1078 session = sock->sk->sk_user_data; in pppol2tp_ioctl()
1079 if (!session) in pppol2tp_ioctl()
1083 if (!session->session_id && !session->peer_session_id) in pppol2tp_ioctl()
1092 session = sock->sk->sk_user_data; in pppol2tp_ioctl()
1093 if (!session) in pppol2tp_ioctl()
1097 if (!session->session_id && !session->peer_session_id) in pppol2tp_ioctl()
1105 session = sock->sk->sk_user_data; in pppol2tp_ioctl()
1106 if (!session) in pppol2tp_ioctl()
1110 if (!session->session_id && !session->peer_session_id) { in pppol2tp_ioctl()
1120 session->tunnel); in pppol2tp_ioctl()
1126 pppol2tp_copy_stats(&stats, &session->stats); in pppol2tp_ioctl()
1127 stats.session_id = session->session_id; in pppol2tp_ioctl()
1129 stats.tunnel_id = session->tunnel->tunnel_id; in pppol2tp_ioctl()
1130 stats.using_ipsec = l2tp_tunnel_uses_xfrm(session->tunnel); in pppol2tp_ioctl()
1179 struct l2tp_session *session, in pppol2tp_session_setsockopt() argument
1190 session->recv_seq = !!val; in pppol2tp_session_setsockopt()
1191 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1193 session->name, session->recv_seq); in pppol2tp_session_setsockopt()
1201 session->send_seq = !!val; in pppol2tp_session_setsockopt()
1208 l2tp_session_set_header_len(session, session->tunnel->version); in pppol2tp_session_setsockopt()
1209 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1211 session->name, session->send_seq); in pppol2tp_session_setsockopt()
1219 session->lns_mode = !!val; in pppol2tp_session_setsockopt()
1220 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1222 session->name, session->lns_mode); in pppol2tp_session_setsockopt()
1226 session->debug = val; in pppol2tp_session_setsockopt()
1227 l2tp_info(session, L2TP_MSG_CONTROL, "%s: set debug=%x\n", in pppol2tp_session_setsockopt()
1228 session->name, session->debug); in pppol2tp_session_setsockopt()
1232 session->reorder_timeout = msecs_to_jiffies(val); in pppol2tp_session_setsockopt()
1233 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1235 session->name, session->reorder_timeout); in pppol2tp_session_setsockopt()
1255 struct l2tp_session *session; in pppol2tp_setsockopt() local
1275 session = pppol2tp_sock_to_session(sk); in pppol2tp_setsockopt()
1276 if (session == NULL) in pppol2tp_setsockopt()
1281 if ((session->session_id == 0) && in pppol2tp_setsockopt()
1282 (session->peer_session_id == 0)) { in pppol2tp_setsockopt()
1283 tunnel = session->tunnel; in pppol2tp_setsockopt()
1286 err = pppol2tp_session_setsockopt(sk, session, optname, val); in pppol2tp_setsockopt()
1320 struct l2tp_session *session, in pppol2tp_session_getsockopt() argument
1327 *val = session->recv_seq; in pppol2tp_session_getsockopt()
1328 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1329 "%s: get recv_seq=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1333 *val = session->send_seq; in pppol2tp_session_getsockopt()
1334 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1335 "%s: get send_seq=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1339 *val = session->lns_mode; in pppol2tp_session_getsockopt()
1340 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1341 "%s: get lns_mode=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1345 *val = session->debug; in pppol2tp_session_getsockopt()
1346 l2tp_info(session, L2TP_MSG_CONTROL, "%s: get debug=%d\n", in pppol2tp_session_getsockopt()
1347 session->name, *val); in pppol2tp_session_getsockopt()
1351 *val = (int) jiffies_to_msecs(session->reorder_timeout); in pppol2tp_session_getsockopt()
1352 l2tp_info(session, L2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1353 "%s: get reorder_timeout=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1372 struct l2tp_session *session; in pppol2tp_getsockopt() local
1394 session = pppol2tp_sock_to_session(sk); in pppol2tp_getsockopt()
1395 if (session == NULL) in pppol2tp_getsockopt()
1399 if ((session->session_id == 0) && in pppol2tp_getsockopt()
1400 (session->peer_session_id == 0)) { in pppol2tp_getsockopt()
1401 tunnel = session->tunnel; in pppol2tp_getsockopt()
1406 err = pppol2tp_session_getsockopt(sk, session, optname, &val); in pppol2tp_getsockopt()
1441 struct l2tp_session *session; /* NULL means get next tunnel */ member
1465 if (pd->session) in pppol2tp_next_session()
1466 l2tp_session_dec_refcount(pd->session); in pppol2tp_next_session()
1468 pd->session = l2tp_session_get_nth(pd->tunnel, pd->session_idx); in pppol2tp_next_session()
1471 if (pd->session == NULL) { in pppol2tp_next_session()
1496 if ((pd->tunnel == NULL) && (pd->session == NULL)) in pppol2tp_seq_start()
1519 if (pd->session) { in pppol2tp_seq_stop()
1520 l2tp_session_dec_refcount(pd->session); in pppol2tp_seq_stop()
1521 pd->session = NULL; in pppol2tp_seq_stop()
1549 struct l2tp_session *session = v; in pppol2tp_seq_session_show() local
1550 struct l2tp_tunnel *tunnel = session->tunnel; in pppol2tp_seq_session_show()
1563 sk = pppol2tp_session_get_sock(session); in pppol2tp_seq_session_show()
1566 user_data_ok = (session == sk->sk_user_data) ? 'Y' : 'N'; in pppol2tp_seq_session_show()
1574 session->name, ip, port, in pppol2tp_seq_session_show()
1576 session->session_id, in pppol2tp_seq_session_show()
1578 session->peer_session_id, in pppol2tp_seq_session_show()
1581 session->recv_seq ? 'R' : '-', in pppol2tp_seq_session_show()
1582 session->send_seq ? 'S' : '-', in pppol2tp_seq_session_show()
1583 session->lns_mode ? "LNS" : "LAC", in pppol2tp_seq_session_show()
1584 session->debug, in pppol2tp_seq_session_show()
1585 jiffies_to_msecs(session->reorder_timeout)); in pppol2tp_seq_session_show()
1587 session->nr, session->ns, in pppol2tp_seq_session_show()
1588 atomic_long_read(&session->stats.tx_packets), in pppol2tp_seq_session_show()
1589 atomic_long_read(&session->stats.tx_bytes), in pppol2tp_seq_session_show()
1590 atomic_long_read(&session->stats.tx_errors), in pppol2tp_seq_session_show()
1591 atomic_long_read(&session->stats.rx_packets), in pppol2tp_seq_session_show()
1592 atomic_long_read(&session->stats.rx_bytes), in pppol2tp_seq_session_show()
1593 atomic_long_read(&session->stats.rx_errors)); in pppol2tp_seq_session_show()
1619 if (!pd->session) in pppol2tp_seq_show()
1622 pppol2tp_seq_session_show(m, pd->session); in pppol2tp_seq_show()