Lines Matching refs:session

145 	struct l2tp_session *session;  in pppol2tp_sock_to_session()  local
151 session = (struct l2tp_session *)(sk->sk_user_data); in pppol2tp_sock_to_session()
152 if (session == NULL) { in pppol2tp_sock_to_session()
157 BUG_ON(session->magic != L2TP_SESSION_MAGIC); in pppol2tp_sock_to_session()
160 return session; in pppol2tp_sock_to_session()
219 static void pppol2tp_recv(struct l2tp_session *session, struct sk_buff *skb, int data_len) in pppol2tp_recv() argument
221 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_recv()
233 l2tp_dbg(session, PPPOL2TP_MSG_DATA, in pppol2tp_recv()
235 session->name, data_len); in pppol2tp_recv()
256 l2tp_dbg(session, PPPOL2TP_MSG_DATA, in pppol2tp_recv()
258 session->name, data_len); in pppol2tp_recv()
261 atomic_long_inc(&session->stats.rx_errors); in pppol2tp_recv()
269 l2tp_info(session, PPPOL2TP_MSG_DATA, "%s: no socket\n", session->name); in pppol2tp_recv()
273 static void pppol2tp_session_sock_hold(struct l2tp_session *session) in pppol2tp_session_sock_hold() argument
275 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_session_sock_hold()
281 static void pppol2tp_session_sock_put(struct l2tp_session *session) in pppol2tp_session_sock_put() argument
283 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_session_sock_put()
304 struct l2tp_session *session; in pppol2tp_sendmsg() local
315 session = pppol2tp_sock_to_session(sk); in pppol2tp_sendmsg()
316 if (session == NULL) in pppol2tp_sendmsg()
319 ps = l2tp_session_priv(session); in pppol2tp_sendmsg()
329 uhlen + session->hdr_len + in pppol2tp_sendmsg()
355 l2tp_xmit_skb(session, skb, session->hdr_len); in pppol2tp_sendmsg()
390 struct l2tp_session *session; in pppol2tp_xmit() local
399 session = pppol2tp_sock_to_session(sk); in pppol2tp_xmit()
400 if (session == NULL) in pppol2tp_xmit()
403 ps = l2tp_session_priv(session); in pppol2tp_xmit()
415 session->hdr_len + /* L2TP header */ in pppol2tp_xmit()
426 l2tp_xmit_skb(session, skb, session->hdr_len); in pppol2tp_xmit()
449 static void pppol2tp_session_close(struct l2tp_session *session) in pppol2tp_session_close() argument
451 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_session_close()
455 BUG_ON(session->magic != L2TP_SESSION_MAGIC); in pppol2tp_session_close()
460 l2tp_session_inc_refcount(session); in pppol2tp_session_close()
469 struct l2tp_session *session = sk->sk_user_data; in pppol2tp_session_destruct() local
470 if (session) { in pppol2tp_session_destruct()
472 BUG_ON(session->magic != L2TP_SESSION_MAGIC); in pppol2tp_session_destruct()
473 l2tp_session_dec_refcount(session); in pppol2tp_session_destruct()
482 struct l2tp_session *session; in pppol2tp_release() local
500 session = pppol2tp_sock_to_session(sk); in pppol2tp_release()
503 if (session != NULL) { in pppol2tp_release()
504 __l2tp_session_unhash(session); in pppol2tp_release()
505 l2tp_session_queue_purge(session); in pppol2tp_release()
575 struct l2tp_session *session = arg; in pppol2tp_show() local
576 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_show()
594 struct l2tp_session *session = NULL; in pppol2tp_connect() local
709 session = l2tp_session_find(sock_net(sk), tunnel, session_id); in pppol2tp_connect()
710 if (session == NULL) { in pppol2tp_connect()
717 session = l2tp_session_create(sizeof(struct pppol2tp_session), in pppol2tp_connect()
720 if (session == NULL) { in pppol2tp_connect()
725 ps = l2tp_session_priv(session); in pppol2tp_connect()
736 ps = l2tp_session_priv(session); in pppol2tp_connect()
741 session->recv_skb = pppol2tp_recv; in pppol2tp_connect()
742 session->session_close = pppol2tp_session_close; in pppol2tp_connect()
744 session->show = pppol2tp_show; in pppol2tp_connect()
750 session->ref = pppol2tp_session_sock_hold; in pppol2tp_connect()
751 session->deref = pppol2tp_session_sock_put; in pppol2tp_connect()
759 session->mtu = session->mru = pmtu - in pppol2tp_connect()
769 if ((session->session_id == 0) && in pppol2tp_connect()
770 (session->peer_session_id == 0)) { in pppol2tp_connect()
783 po->chan.mtu = session->mtu; in pppol2tp_connect()
791 sk->sk_user_data = session; in pppol2tp_connect()
793 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: created\n", in pppol2tp_connect()
794 session->name); in pppol2tp_connect()
810 struct l2tp_session *session; in pppol2tp_session_create() local
826 session = l2tp_session_find(net, tunnel, session_id); in pppol2tp_session_create()
827 if (session != NULL) in pppol2tp_session_create()
838 session = l2tp_session_create(sizeof(struct pppol2tp_session), in pppol2tp_session_create()
841 if (session == NULL) in pppol2tp_session_create()
844 ps = l2tp_session_priv(session); in pppol2tp_session_create()
847 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: created\n", in pppol2tp_session_create()
848 session->name); in pppol2tp_session_create()
865 struct l2tp_session *session; in pppol2tp_getname() local
878 session = pppol2tp_sock_to_session(sk); in pppol2tp_getname()
879 if (session == NULL) in pppol2tp_getname()
882 pls = l2tp_session_priv(session); in pppol2tp_getname()
900 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
901 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
919 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
920 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
938 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
939 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
956 sp.pppol2tp.s_session = session->session_id; in pppol2tp_getname()
957 sp.pppol2tp.d_session = session->peer_session_id; in pppol2tp_getname()
1001 static int pppol2tp_session_ioctl(struct l2tp_session *session, in pppol2tp_session_ioctl() argument
1008 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_session_ioctl()
1009 struct l2tp_tunnel *tunnel = session->tunnel; in pppol2tp_session_ioctl()
1012 l2tp_dbg(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_ioctl()
1014 session->name, cmd, arg); in pppol2tp_session_ioctl()
1028 ifr.ifr_mtu = session->mtu; in pppol2tp_session_ioctl()
1032 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: get mtu=%d\n", in pppol2tp_session_ioctl()
1033 session->name, session->mtu); in pppol2tp_session_ioctl()
1046 session->mtu = ifr.ifr_mtu; in pppol2tp_session_ioctl()
1048 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: set mtu=%d\n", in pppol2tp_session_ioctl()
1049 session->name, session->mtu); in pppol2tp_session_ioctl()
1059 if (put_user(session->mru, (int __user *) arg)) in pppol2tp_session_ioctl()
1062 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: get mru=%d\n", in pppol2tp_session_ioctl()
1063 session->name, session->mru); in pppol2tp_session_ioctl()
1076 session->mru = val; in pppol2tp_session_ioctl()
1077 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: set mru=%d\n", in pppol2tp_session_ioctl()
1078 session->name, session->mru); in pppol2tp_session_ioctl()
1087 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: get flags=%d\n", in pppol2tp_session_ioctl()
1088 session->name, ps->flags); in pppol2tp_session_ioctl()
1097 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: set flags=%d\n", in pppol2tp_session_ioctl()
1098 session->name, ps->flags); in pppol2tp_session_ioctl()
1109 stats.session_id = session->session_id; in pppol2tp_session_ioctl()
1110 pppol2tp_copy_stats(&stats, &session->stats); in pppol2tp_session_ioctl()
1114 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: get L2TP stats\n", in pppol2tp_session_ioctl()
1115 session->name); in pppol2tp_session_ioctl()
1162 struct l2tp_session *session = in pppol2tp_tunnel_ioctl() local
1164 if (session != NULL) in pppol2tp_tunnel_ioctl()
1165 err = pppol2tp_session_ioctl(session, cmd, arg); in pppol2tp_tunnel_ioctl()
1200 struct l2tp_session *session; in pppol2tp_ioctl() local
1219 session = pppol2tp_sock_to_session(sk); in pppol2tp_ioctl()
1220 if (session == NULL) in pppol2tp_ioctl()
1226 ps = l2tp_session_priv(session); in pppol2tp_ioctl()
1227 if ((session->session_id == 0) && in pppol2tp_ioctl()
1228 (session->peer_session_id == 0)) { in pppol2tp_ioctl()
1239 err = pppol2tp_session_ioctl(session, cmd, arg); in pppol2tp_ioctl()
1283 struct l2tp_session *session, in pppol2tp_session_setsockopt() argument
1287 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_session_setsockopt()
1295 session->recv_seq = val ? -1 : 0; in pppol2tp_session_setsockopt()
1296 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1298 session->name, session->recv_seq); in pppol2tp_session_setsockopt()
1306 session->send_seq = val ? -1 : 0; in pppol2tp_session_setsockopt()
1313 l2tp_session_set_header_len(session, session->tunnel->version); in pppol2tp_session_setsockopt()
1314 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1316 session->name, session->send_seq); in pppol2tp_session_setsockopt()
1324 session->lns_mode = val ? -1 : 0; in pppol2tp_session_setsockopt()
1325 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1327 session->name, session->lns_mode); in pppol2tp_session_setsockopt()
1331 session->debug = val; in pppol2tp_session_setsockopt()
1332 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: set debug=%x\n", in pppol2tp_session_setsockopt()
1333 session->name, session->debug); in pppol2tp_session_setsockopt()
1337 session->reorder_timeout = msecs_to_jiffies(val); in pppol2tp_session_setsockopt()
1338 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_setsockopt()
1340 session->name, session->reorder_timeout); in pppol2tp_session_setsockopt()
1360 struct l2tp_session *session; in pppol2tp_setsockopt() local
1381 session = pppol2tp_sock_to_session(sk); in pppol2tp_setsockopt()
1382 if (session == NULL) in pppol2tp_setsockopt()
1387 ps = l2tp_session_priv(session); in pppol2tp_setsockopt()
1388 if ((session->session_id == 0) && in pppol2tp_setsockopt()
1389 (session->peer_session_id == 0)) { in pppol2tp_setsockopt()
1398 err = pppol2tp_session_setsockopt(sk, session, optname, val); in pppol2tp_setsockopt()
1434 struct l2tp_session *session, in pppol2tp_session_getsockopt() argument
1441 *val = session->recv_seq; in pppol2tp_session_getsockopt()
1442 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1443 "%s: get recv_seq=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1447 *val = session->send_seq; in pppol2tp_session_getsockopt()
1448 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1449 "%s: get send_seq=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1453 *val = session->lns_mode; in pppol2tp_session_getsockopt()
1454 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1455 "%s: get lns_mode=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1459 *val = session->debug; in pppol2tp_session_getsockopt()
1460 l2tp_info(session, PPPOL2TP_MSG_CONTROL, "%s: get debug=%d\n", in pppol2tp_session_getsockopt()
1461 session->name, *val); in pppol2tp_session_getsockopt()
1465 *val = (int) jiffies_to_msecs(session->reorder_timeout); in pppol2tp_session_getsockopt()
1466 l2tp_info(session, PPPOL2TP_MSG_CONTROL, in pppol2tp_session_getsockopt()
1467 "%s: get reorder_timeout=%d\n", session->name, *val); in pppol2tp_session_getsockopt()
1486 struct l2tp_session *session; in pppol2tp_getsockopt() local
1509 session = pppol2tp_sock_to_session(sk); in pppol2tp_getsockopt()
1510 if (session == NULL) in pppol2tp_getsockopt()
1514 ps = l2tp_session_priv(session); in pppol2tp_getsockopt()
1515 if ((session->session_id == 0) && in pppol2tp_getsockopt()
1516 (session->peer_session_id == 0)) { in pppol2tp_getsockopt()
1525 err = pppol2tp_session_getsockopt(sk, session, optname, &val); in pppol2tp_getsockopt()
1557 struct l2tp_session *session; /* NULL means get next tunnel */ member
1577 pd->session = l2tp_session_find_nth(pd->tunnel, pd->session_idx); in pppol2tp_next_session()
1580 if (pd->session == NULL) { in pppol2tp_next_session()
1605 if ((pd->tunnel == NULL) && (pd->session == NULL)) in pppol2tp_seq_start()
1643 struct l2tp_session *session = v; in pppol2tp_seq_session_show() local
1644 struct l2tp_tunnel *tunnel = session->tunnel; in pppol2tp_seq_session_show()
1645 struct pppol2tp_session *ps = l2tp_session_priv(session); in pppol2tp_seq_session_show()
1658 session->name, ip, port, in pppol2tp_seq_session_show()
1660 session->session_id, in pppol2tp_seq_session_show()
1662 session->peer_session_id, in pppol2tp_seq_session_show()
1664 (session == ps->sock->sk_user_data) ? in pppol2tp_seq_session_show()
1667 session->mtu, session->mru, in pppol2tp_seq_session_show()
1668 session->recv_seq ? 'R' : '-', in pppol2tp_seq_session_show()
1669 session->send_seq ? 'S' : '-', in pppol2tp_seq_session_show()
1670 session->lns_mode ? "LNS" : "LAC", in pppol2tp_seq_session_show()
1671 session->debug, in pppol2tp_seq_session_show()
1672 jiffies_to_msecs(session->reorder_timeout)); in pppol2tp_seq_session_show()
1674 session->nr, session->ns, in pppol2tp_seq_session_show()
1675 atomic_long_read(&session->stats.tx_packets), in pppol2tp_seq_session_show()
1676 atomic_long_read(&session->stats.tx_bytes), in pppol2tp_seq_session_show()
1677 atomic_long_read(&session->stats.tx_errors), in pppol2tp_seq_session_show()
1678 atomic_long_read(&session->stats.rx_packets), in pppol2tp_seq_session_show()
1679 atomic_long_read(&session->stats.rx_bytes), in pppol2tp_seq_session_show()
1680 atomic_long_read(&session->stats.rx_errors)); in pppol2tp_seq_session_show()
1704 if (pd->session == NULL) in pppol2tp_seq_show()
1707 pppol2tp_seq_session_show(m, pd->session); in pppol2tp_seq_show()